diff --git a/accesscontextmanager.cnrm.cloud.google.com/accesscontextmanageraccesslevelcondition_v1alpha1.json b/accesscontextmanager.cnrm.cloud.google.com/accesscontextmanageraccesslevelcondition_v1alpha1.json new file mode 100644 index 00000000..5827c294 --- /dev/null +++ b/accesscontextmanager.cnrm.cloud.google.com/accesscontextmanageraccesslevelcondition_v1alpha1.json @@ -0,0 +1,201 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "accessLevelRef": { + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of an `AccessContextManagerAccessLevel` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "devicePolicy": { + "description": "Immutable. Device specific restrictions, all restrictions must hold for\nthe Condition to be true. If not specified, all devices are\nallowed.", + "properties": { + "allowedDeviceManagementLevels": { + "description": "Immutable. A list of allowed device management levels.\nAn empty list allows all management levels. Possible values: [\"MANAGEMENT_UNSPECIFIED\", \"NONE\", \"BASIC\", \"COMPLETE\"].", + "items": { + "type": "string" + }, + "type": "array" + }, + "allowedEncryptionStatuses": { + "description": "Immutable. A list of allowed encryptions statuses.\nAn empty list allows all statuses. Possible values: [\"ENCRYPTION_UNSPECIFIED\", \"ENCRYPTION_UNSUPPORTED\", \"UNENCRYPTED\", \"ENCRYPTED\"].", + "items": { + "type": "string" + }, + "type": "array" + }, + "osConstraints": { + "description": "Immutable. A list of allowed OS versions.\nAn empty list allows all types and all versions.", + "items": { + "properties": { + "minimumVersion": { + "description": "Immutable. The minimum allowed OS version. If not set, any version\nof this OS satisfies the constraint.\nFormat: \"major.minor.patch\" such as \"10.5.301\", \"9.2.1\".", + "type": "string" + }, + "osType": { + "description": "Immutable. The operating system type of the device. Possible values: [\"OS_UNSPECIFIED\", \"DESKTOP_MAC\", \"DESKTOP_WINDOWS\", \"DESKTOP_LINUX\", \"DESKTOP_CHROME_OS\", \"ANDROID\", \"IOS\"].", + "type": "string" + } + }, + "required": [ + "osType" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "requireAdminApproval": { + "description": "Immutable. Whether the device needs to be approved by the customer admin.", + "type": "boolean" + }, + "requireCorpOwned": { + "description": "Immutable. Whether the device needs to be corp owned.", + "type": "boolean" + }, + "requireScreenLock": { + "description": "Immutable. Whether or not screenlock is required for the DevicePolicy\nto be true. Defaults to false.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "ipSubnetworks": { + "description": "Immutable. A list of CIDR block IP subnetwork specification. May be IPv4\nor IPv6.\nNote that for a CIDR IP address block, the specified IP address\nportion must be properly truncated (i.e. all the host bits must\nbe zero) or the input is considered malformed. For example,\n\"192.0.2.0/24\" is accepted but \"192.0.2.1/24\" is not. Similarly,\nfor IPv6, \"2001:db8::/32\" is accepted whereas \"2001:db8::1/32\"\nis not. The originating IP of a request must be in one of the\nlisted subnets in order for this Condition to be true.\nIf empty, all IP addresses are allowed.", + "items": { + "type": "string" + }, + "type": "array" + }, + "members": { + "description": "Immutable. An allowed list of members (users, service accounts).\nUsing groups is not supported yet.\n\nThe signed-in user originating the request must be a part of one\nof the provided members. If not specified, a request may come\nfrom any user (logged in/not logged in, not present in any\ngroups, etc.).\nFormats: 'user:{emailid}', 'serviceAccount:{emailid}'.", + "items": { + "type": "string" + }, + "type": "array" + }, + "negate": { + "description": "Immutable. Whether to negate the Condition. If true, the Condition becomes\na NAND over its non-empty fields, each field must be false for\nthe Condition overall to be satisfied. Defaults to false.", + "type": "boolean" + }, + "regions": { + "description": "Immutable. The request must originate from one of the provided\ncountries/regions.\nFormat: A valid ISO 3166-1 alpha-2 code.", + "items": { + "type": "string" + }, + "type": "array" + }, + "requiredAccessLevels": { + "description": "Immutable. A list of other access levels defined in the same Policy,\nreferenced by resource name. Referencing an AccessLevel which\ndoes not exist is an error. All access levels listed must be\ngranted for the Condition to be true.\nFormat: accessPolicies/{policy_id}/accessLevels/{short_name}.", + "items": { + "type": "string" + }, + "type": "array" + }, + "resourceID": { + "description": "Immutable. Optional. The accessLevel of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object" +} diff --git a/accesscontextmanager.cnrm.cloud.google.com/accesscontextmanagergcpuseraccessbinding_v1alpha1.json b/accesscontextmanager.cnrm.cloud.google.com/accesscontextmanagergcpuseraccessbinding_v1alpha1.json new file mode 100644 index 00000000..6d024736 --- /dev/null +++ b/accesscontextmanager.cnrm.cloud.google.com/accesscontextmanagergcpuseraccessbinding_v1alpha1.json @@ -0,0 +1,139 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "accessLevels": { + "description": "Required. Access level that a user must have to be granted access. Only one access level is supported, not multiple. This repeated field must have exactly one element. Example: \"accessPolicies/9522/accessLevels/device_trusted\".", + "items": { + "type": "string" + }, + "type": "array" + }, + "groupKey": { + "description": "Immutable. Required. Immutable. Google Group id whose members are subject to this binding's restrictions. See \"id\" in the G Suite Directory API's Groups resource. If a group's email address/alias is changed, this resource will continue to point at the changed group. This field does not accept group email addresses or aliases. Example: \"01d520gv4vjcrht\".", + "type": "string" + }, + "organizationRef": { + "description": "The organization that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of an `Organization` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + } + }, + "required": [ + "accessLevels", + "groupKey", + "organizationRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "Immutable. Assigned by the server during creation. The last segment has an arbitrary length and has only URI unreserved characters (as defined by RFC 3986 Section 2.3). Should not be specified by the client during creation. Example: \"organizations/256/gcpUserAccessBindings/b3-BhcX_Ud5N\".", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/accesscontextmanager.cnrm.cloud.google.com/accesscontextmanagerserviceperimeterresource_v1alpha1.json b/accesscontextmanager.cnrm.cloud.google.com/accesscontextmanagerserviceperimeterresource_v1alpha1.json new file mode 100644 index 00000000..52cd78a6 --- /dev/null +++ b/accesscontextmanager.cnrm.cloud.google.com/accesscontextmanagerserviceperimeterresource_v1alpha1.json @@ -0,0 +1,169 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "perimeterNameRef": { + "description": "Only the `external` field is supported to configure the reference.\n\nThe name of the Service Perimeter to add this resource to. \nReferencing a resource name leads to recursive reference and Config Connector does not support the feature for now.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of an `AccessContextManagerServicePerimeter` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceRef": { + "description": "A GCP resource that is inside of the service perimeter.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: string of the format `projects/{{value}}`, where {{value}} is the `number` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "perimeterNameRef", + "resourceRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/accesscontextmanager.cnrm.cloud.google.com/accesscontextmanagerserviceperimeterresource_v1beta1.json b/accesscontextmanager.cnrm.cloud.google.com/accesscontextmanagerserviceperimeterresource_v1beta1.json new file mode 100644 index 00000000..52cd78a6 --- /dev/null +++ b/accesscontextmanager.cnrm.cloud.google.com/accesscontextmanagerserviceperimeterresource_v1beta1.json @@ -0,0 +1,169 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "perimeterNameRef": { + "description": "Only the `external` field is supported to configure the reference.\n\nThe name of the Service Perimeter to add this resource to. \nReferencing a resource name leads to recursive reference and Config Connector does not support the feature for now.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of an `AccessContextManagerServicePerimeter` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceRef": { + "description": "A GCP resource that is inside of the service perimeter.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: string of the format `projects/{{value}}`, where {{value}} is the `number` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "perimeterNameRef", + "resourceRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/apigateway.cnrm.cloud.google.com/apigatewayapi_v1alpha1.json b/apigateway.cnrm.cloud.google.com/apigatewayapi_v1alpha1.json new file mode 100644 index 00000000..6811ff42 --- /dev/null +++ b/apigateway.cnrm.cloud.google.com/apigatewayapi_v1alpha1.json @@ -0,0 +1,138 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "displayName": { + "description": "A user-visible name for the API.", + "type": "string" + }, + "managedService": { + "description": "Immutable. Immutable. The name of a Google Managed Service ( https://cloud.google.com/service-infrastructure/docs/glossary#managed).\nIf not specified, a new Service will automatically be created in the same project as this API.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The apiId of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "createTime": { + "description": "Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "name": { + "description": "The resource name of the API. Format 'projects/{{project}}/locations/global/apis/{{apiId}}'.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/apigateway.cnrm.cloud.google.com/apigatewayapiconfig_v1alpha1.json b/apigateway.cnrm.cloud.google.com/apigatewayapiconfig_v1alpha1.json new file mode 100644 index 00000000..d33eb9d8 --- /dev/null +++ b/apigateway.cnrm.cloud.google.com/apigatewayapiconfig_v1alpha1.json @@ -0,0 +1,275 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "api": { + "description": "Immutable. The API to attach the config to.", + "type": "string" + }, + "apiConfigIdPrefix": { + "description": "Immutable. Creates a unique name beginning with the specified prefix. If this and api_config_id are unspecified, a random value is chosen for the name.", + "type": "string" + }, + "displayName": { + "description": "A user-visible name for the API.", + "type": "string" + }, + "gatewayConfig": { + "description": "Immutable. Immutable. Gateway specific configuration.\nIf not specified, backend authentication will be set to use OIDC authentication using the default compute service account.", + "properties": { + "backendConfig": { + "description": "Backend settings that are applied to all backends of the Gateway.", + "properties": { + "googleServiceAccount": { + "description": "Immutable. Google Cloud IAM service account used to sign OIDC tokens for backends that have authentication configured\n(https://cloud.google.com/service-infrastructure/docs/service-management/reference/rest/v1/services.configs#backend).", + "type": "string" + } + }, + "required": [ + "googleServiceAccount" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "backendConfig" + ], + "type": "object", + "additionalProperties": false + }, + "grpcServices": { + "description": "gRPC service definition files. If specified, openapiDocuments must not be included.", + "items": { + "properties": { + "fileDescriptorSet": { + "description": "Immutable. Input only. File descriptor set, generated by protoc.\nTo generate, use protoc with imports and source info included. For an example test.proto file, the following command would put the value in a new file named out.pb.\n\n$ protoc --include_imports --include_source_info test.proto -o out.pb.", + "properties": { + "contents": { + "description": "Immutable. Base64 encoded content of the file.", + "type": "string" + }, + "path": { + "description": "Immutable. The file path (full or relative path). This is typically the path of the file when it is uploaded.", + "type": "string" + } + }, + "required": [ + "contents", + "path" + ], + "type": "object", + "additionalProperties": false + }, + "source": { + "description": "Uncompiled proto files associated with the descriptor set, used for display purposes (server-side compilation is not supported). These should match the inputs to 'protoc' command used to generate fileDescriptorSet.", + "items": { + "properties": { + "contents": { + "description": "Immutable. Base64 encoded content of the file.", + "type": "string" + }, + "path": { + "description": "Immutable. The file path (full or relative path). This is typically the path of the file when it is uploaded.", + "type": "string" + } + }, + "required": [ + "contents", + "path" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "fileDescriptorSet" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "managedServiceConfigs": { + "description": "Optional. Service Configuration files. At least one must be included when using gRPC service definitions. See https://cloud.google.com/endpoints/docs/grpc/grpc-service-config#service_configuration_overview for the expected file contents.\nIf multiple files are specified, the files are merged with the following rules: * All singular scalar fields are merged using \"last one wins\" semantics in the order of the files uploaded. * Repeated fields are concatenated. * Singular embedded messages are merged using these rules for nested fields.", + "items": { + "properties": { + "contents": { + "description": "Immutable. Base64 encoded content of the file.", + "type": "string" + }, + "path": { + "description": "Immutable. The file path (full or relative path). This is typically the path of the file when it is uploaded.", + "type": "string" + } + }, + "required": [ + "contents", + "path" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "openapiDocuments": { + "description": "OpenAPI specification documents. If specified, grpcServices and managedServiceConfigs must not be included.", + "items": { + "properties": { + "document": { + "description": "The OpenAPI Specification document file.", + "properties": { + "contents": { + "description": "Immutable. Base64 encoded content of the file.", + "type": "string" + }, + "path": { + "description": "Immutable. The file path (full or relative path). This is typically the path of the file when it is uploaded.", + "type": "string" + } + }, + "required": [ + "contents", + "path" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "document" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The apiConfigId of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "api", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The resource name of the API Config.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "serviceConfigId": { + "description": "The ID of the associated Service Config (https://cloud.google.com/service-infrastructure/docs/glossary#config).", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/apigateway.cnrm.cloud.google.com/apigatewaygateway_v1alpha1.json b/apigateway.cnrm.cloud.google.com/apigatewaygateway_v1alpha1.json new file mode 100644 index 00000000..0604d288 --- /dev/null +++ b/apigateway.cnrm.cloud.google.com/apigatewaygateway_v1alpha1.json @@ -0,0 +1,144 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "apiConfig": { + "description": "Resource name of the API Config for this Gateway. Format: projects/{project}/locations/global/apis/{api}/configs/{apiConfig}.\nWhen changing api configs please ensure the new config is a new resource and the lifecycle rule 'create_before_destroy' is set.", + "type": "string" + }, + "displayName": { + "description": "A user-visible name for the API.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Immutable. The region of the gateway for the API.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The gatewayId of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "apiConfig", + "projectRef", + "region" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "defaultHostname": { + "description": "The default API Gateway host name of the form {gatewayId}-{hash}.{region_code}.gateway.dev.", + "type": "string" + }, + "name": { + "description": "Resource name of the Gateway. Format: projects/{project}/locations/{region}/gateways/{gateway}.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/apigee.cnrm.cloud.google.com/apigeeaddonsconfig_v1alpha1.json b/apigee.cnrm.cloud.google.com/apigeeaddonsconfig_v1alpha1.json new file mode 100644 index 00000000..4c37e27a --- /dev/null +++ b/apigee.cnrm.cloud.google.com/apigeeaddonsconfig_v1alpha1.json @@ -0,0 +1,146 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "addonsConfig": { + "description": "Addon configurations of the Apigee organization.", + "properties": { + "advancedApiOpsConfig": { + "description": "Configuration for the Monetization add-on.", + "properties": { + "enabled": { + "description": "Flag that specifies whether the Advanced API Ops add-on is enabled.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "apiSecurityConfig": { + "description": "Configuration for the Monetization add-on.", + "properties": { + "enabled": { + "description": "Flag that specifies whether the Advanced API Ops add-on is enabled.", + "type": "boolean" + }, + "expiresAt": { + "description": "Flag that specifies whether the Advanced API Ops add-on is enabled.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "connectorsPlatformConfig": { + "description": "Configuration for the Monetization add-on.", + "properties": { + "enabled": { + "description": "Flag that specifies whether the Advanced API Ops add-on is enabled.", + "type": "boolean" + }, + "expiresAt": { + "description": "Flag that specifies whether the Advanced API Ops add-on is enabled.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "integrationConfig": { + "description": "Configuration for the Monetization add-on.", + "properties": { + "enabled": { + "description": "Flag that specifies whether the Advanced API Ops add-on is enabled.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "monetizationConfig": { + "description": "Configuration for the Monetization add-on.", + "properties": { + "enabled": { + "description": "Flag that specifies whether the Advanced API Ops add-on is enabled.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "org": { + "description": "Immutable. Name of the Apigee organization.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "org" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/apigee.cnrm.cloud.google.com/apigeeendpointattachment_v1alpha1.json b/apigee.cnrm.cloud.google.com/apigeeendpointattachment_v1alpha1.json new file mode 100644 index 00000000..17345ccf --- /dev/null +++ b/apigee.cnrm.cloud.google.com/apigeeendpointattachment_v1alpha1.json @@ -0,0 +1,98 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "location": { + "description": "Immutable. Location of the endpoint attachment.", + "type": "string" + }, + "orgId": { + "description": "Immutable. The Apigee Organization associated with the Apigee instance,\nin the format 'organizations/{{org_name}}'.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The endpointAttachmentId of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "serviceAttachment": { + "description": "Immutable. Format: projects/*/regions/*/serviceAttachments/*.", + "type": "string" + } + }, + "required": [ + "location", + "orgId", + "serviceAttachment" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "connectionState": { + "description": "State of the endpoint attachment connection to the service attachment.", + "type": "string" + }, + "host": { + "description": "Host that can be used in either HTTP Target Endpoint directly, or as the host in Target Server.", + "type": "string" + }, + "name": { + "description": "Name of the Endpoint Attachment in the following format:\norganizations/{organization}/endpointAttachments/{endpointAttachment}.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/apigee.cnrm.cloud.google.com/apigeeenvgroup_v1alpha1.json b/apigee.cnrm.cloud.google.com/apigeeenvgroup_v1alpha1.json new file mode 100644 index 00000000..c23ad00c --- /dev/null +++ b/apigee.cnrm.cloud.google.com/apigeeenvgroup_v1alpha1.json @@ -0,0 +1,83 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "hostnames": { + "description": "Hostnames of the environment group.", + "items": { + "type": "string" + }, + "type": "array" + }, + "orgId": { + "description": "Immutable. The Apigee Organization associated with the Apigee environment group,\nin the format 'organizations/{{org_name}}'.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "orgId" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/apigee.cnrm.cloud.google.com/apigeeenvgroupattachment_v1alpha1.json b/apigee.cnrm.cloud.google.com/apigeeenvgroupattachment_v1alpha1.json new file mode 100644 index 00000000..4c1ff914 --- /dev/null +++ b/apigee.cnrm.cloud.google.com/apigeeenvgroupattachment_v1alpha1.json @@ -0,0 +1,85 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "envgroupId": { + "description": "Immutable. The Apigee environment group associated with the Apigee environment,\nin the format 'organizations/{{org_name}}/envgroups/{{envgroup_name}}'.", + "type": "string" + }, + "environment": { + "description": "Immutable. The resource ID of the environment.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + } + }, + "required": [ + "envgroupId", + "environment" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The name of the newly created attachment (output parameter).", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/apigee.cnrm.cloud.google.com/apigeeinstance_v1alpha1.json b/apigee.cnrm.cloud.google.com/apigeeinstance_v1alpha1.json new file mode 100644 index 00000000..ff78d00c --- /dev/null +++ b/apigee.cnrm.cloud.google.com/apigeeinstance_v1alpha1.json @@ -0,0 +1,120 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "consumerAcceptList": { + "description": "Immutable. Optional. Customer accept list represents the list of projects (id/number) on customer\nside that can privately connect to the service attachment. It is an optional field\nwhich the customers can provide during the instance creation. By default, the customer\nproject associated with the Apigee organization will be included to the list.", + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "Immutable. Description of the instance.", + "type": "string" + }, + "diskEncryptionKeyName": { + "description": "Immutable. Customer Managed Encryption Key (CMEK) used for disk and volume encryption. Required for Apigee paid subscriptions only.\nUse the following format: 'projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+)'.", + "type": "string" + }, + "displayName": { + "description": "Immutable. Display name of the instance.", + "type": "string" + }, + "ipRange": { + "description": "Immutable. IP range represents the customer-provided CIDR block of length 22 that will be used for\nthe Apigee instance creation. This optional range, if provided, should be freely\navailable as part of larger named range the customer has allocated to the Service\nNetworking peering. If this is not provided, Apigee will automatically request for any\navailable /22 CIDR block from Service Networking. The customer should use this CIDR block\nfor configuring their firewall needs to allow traffic from Apigee.\nInput format: \"a.b.c.d/22\".", + "type": "string" + }, + "location": { + "description": "Immutable. Required. Compute Engine location where the instance resides.", + "type": "string" + }, + "orgId": { + "description": "Immutable. The Apigee Organization associated with the Apigee instance,\nin the format 'organizations/{{org_name}}'.", + "type": "string" + }, + "peeringCidrRange": { + "description": "Immutable. The size of the CIDR block range that will be reserved by the instance. For valid values,\nsee [CidrRange](https://cloud.google.com/apigee/docs/reference/apis/apigee/rest/v1/organizations.instances#CidrRange) on the documentation.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "location", + "orgId" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "host": { + "description": "Output only. Hostname or IP address of the exposed Apigee endpoint used by clients to connect to the service.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "port": { + "description": "Output only. Port number of the exposed Apigee endpoint.", + "type": "string" + }, + "serviceAttachment": { + "description": "Output only. Resource name of the service attachment created for the instance in\nthe format: projects/*/regions/*/serviceAttachments/* Apigee customers can privately\nforward traffic to this service attachment using the PSC endpoints.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/apigee.cnrm.cloud.google.com/apigeeinstanceattachment_v1alpha1.json b/apigee.cnrm.cloud.google.com/apigeeinstanceattachment_v1alpha1.json new file mode 100644 index 00000000..d75535a1 --- /dev/null +++ b/apigee.cnrm.cloud.google.com/apigeeinstanceattachment_v1alpha1.json @@ -0,0 +1,85 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "environment": { + "description": "Immutable. The resource ID of the environment.", + "type": "string" + }, + "instanceId": { + "description": "Immutable. The Apigee instance associated with the Apigee environment,\nin the format 'organizations/{{org_name}}/instances/{{instance_name}}'.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + } + }, + "required": [ + "environment", + "instanceId" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The name of the newly created attachment (output parameter).", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/apigee.cnrm.cloud.google.com/apigeenataddress_v1alpha1.json b/apigee.cnrm.cloud.google.com/apigeenataddress_v1alpha1.json new file mode 100644 index 00000000..edb02020 --- /dev/null +++ b/apigee.cnrm.cloud.google.com/apigeenataddress_v1alpha1.json @@ -0,0 +1,84 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "instanceId": { + "description": "Immutable. The Apigee instance associated with the Apigee environment,\nin the format 'organizations/{{org_name}}/instances/{{instance_name}}'.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "instanceId" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "ipAddress": { + "description": "The allocated NAT IP address.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "state": { + "description": "State of the NAT IP address.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/apigee.cnrm.cloud.google.com/apigeesyncauthorization_v1alpha1.json b/apigee.cnrm.cloud.google.com/apigeesyncauthorization_v1alpha1.json new file mode 100644 index 00000000..d466b397 --- /dev/null +++ b/apigee.cnrm.cloud.google.com/apigeesyncauthorization_v1alpha1.json @@ -0,0 +1,83 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "identities": { + "description": "Array of service accounts to grant access to control plane resources, each specified using the following format: 'serviceAccount:service-account-name'.\n\nThe 'service-account-name' is formatted like an email address. For example: my-synchronizer-manager-serviceAccount@my_project_id.iam.gserviceaccount.com\n\nYou might specify multiple service accounts, for example, if you have multiple environments and wish to assign a unique service account to each one.\n\nThe service accounts must have **Apigee Synchronizer Manager** role. See also [Create service accounts](https://cloud.google.com/apigee/docs/hybrid/v1.8/sa-about#create-the-service-accounts).", + "items": { + "type": "string" + }, + "type": "array" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "identities" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "etag": { + "description": "Entity tag (ETag) used for optimistic concurrency control as a way to help prevent simultaneous updates from overwriting each other.\nUsed internally during updates.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/apikeys.cnrm.cloud.google.com/apikeyskey_v1alpha1.json b/apikeys.cnrm.cloud.google.com/apikeyskey_v1alpha1.json new file mode 100644 index 00000000..20da803c --- /dev/null +++ b/apikeys.cnrm.cloud.google.com/apikeyskey_v1alpha1.json @@ -0,0 +1,257 @@ +{ + "description": "APIKeysKey is the Schema for the APIKeys Key resource.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. 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": { + "displayName": { + "description": "Human-readable display name of this key that you can modify. The maximum length is 63 characters.", + "type": "string" + }, + "projectRef": { + "description": "Immutable. The Project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "The `projectID` field of a project, when not managed by KCC.", + "type": "string" + }, + "kind": { + "description": "The kind of the Project resource; optional but must be `Project` if provided.", + "type": "string" + }, + "name": { + "description": "The `name` field of a `Project` resource.", + "type": "string" + }, + "namespace": { + "description": "The `namespace` field of a `Project` resource.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "restrictions": { + "description": "Key restrictions.", + "properties": { + "androidKeyRestrictions": { + "description": "The Android apps that are allowed to use the key.", + "properties": { + "allowedApplications": { + "description": "A list of Android applications that are allowed to make API calls with this key.", + "items": { + "properties": { + "packageName": { + "description": "The package name of the application.", + "type": "string" + }, + "sha1Fingerprint": { + "description": "The SHA1 fingerprint of the application. For example, both sha1 formats are acceptable : DA:39:A3:EE:5E:6B:4B:0D:32:55:BF:EF:95:60:18:90:AF:D8:07:09 or DA39A3EE5E6B4B0D3255BFEF95601890AFD80709. Output format is the latter.", + "type": "string" + } + }, + "required": [ + "packageName", + "sha1Fingerprint" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "allowedApplications" + ], + "type": "object", + "additionalProperties": false + }, + "apiTargets": { + "description": "A restriction for a specific service and optionally one or more specific methods. Requests are allowed if they match any of these restrictions. If no restrictions are specified, all targets are allowed.", + "items": { + "properties": { + "methods": { + "description": "Optional. List of one or more methods that can be called. If empty, all methods for the service are allowed. A wildcard (*) can be used as the last symbol. Valid examples: `google.cloud.translate.v2.TranslateService.GetSupportedLanguage` `TranslateText` `Get*` `translate.googleapis.com.Get*`", + "items": { + "type": "string" + }, + "type": "array" + }, + "service": { + "description": "The service for this restriction. It should be the canonical service name, for example: `translate.googleapis.com`. You can use [`gcloud services list`](/sdk/gcloud/reference/services/list) to get a list of services that are enabled in the project.", + "type": "string" + } + }, + "required": [ + "service" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "browserKeyRestrictions": { + "description": "The HTTP referrers (websites) that are allowed to use the key.", + "properties": { + "allowedReferrers": { + "description": "A list of regular expressions for the referrer URLs that are allowed to make API calls with this key.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "allowedReferrers" + ], + "type": "object", + "additionalProperties": false + }, + "iosKeyRestrictions": { + "description": "The iOS apps that are allowed to use the key.", + "properties": { + "allowedBundleIds": { + "description": "A list of bundle IDs that are allowed when making API calls with this key.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "allowedBundleIds" + ], + "type": "object", + "additionalProperties": false + }, + "serverKeyRestrictions": { + "description": "The IP addresses of callers that are allowed to use the key.", + "properties": { + "allowedIps": { + "description": "A list of the caller IP addresses that are allowed to make API calls with this key.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "allowedIps" + ], + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observations of the object's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "format": "int64", + "type": "integer" + }, + "observedState": { + "description": "ObservedState is the state of the resource as most recently observed in GCP.", + "properties": { + "uid": { + "description": "Output only. Unique id in UUID4 format.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/appengine.cnrm.cloud.google.com/appenginedomainmapping_v1alpha1.json b/appengine.cnrm.cloud.google.com/appenginedomainmapping_v1alpha1.json new file mode 100644 index 00000000..55c8294d --- /dev/null +++ b/appengine.cnrm.cloud.google.com/appenginedomainmapping_v1alpha1.json @@ -0,0 +1,122 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "overrideStrategy": { + "description": "Whether the domain creation should override any existing mappings for this domain.\nBy default, overrides are rejected. Default value: \"STRICT\" Possible values: [\"STRICT\", \"OVERRIDE\"].", + "type": "string" + }, + "project": { + "description": "Immutable.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The domainName of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "sslSettings": { + "description": "SSL configuration for this domain. If unconfigured, this domain will not serve with SSL.", + "properties": { + "certificateId": { + "description": "ID of the AuthorizedCertificate resource configuring SSL for the application. Clearing this field will\nremove SSL support.\nBy default, a managed certificate is automatically created for every domain mapping. To omit SSL support\nor to configure SSL manually, specify 'SslManagementType.MANUAL' on a 'CREATE' or 'UPDATE' request. You must be\nauthorized to administer the 'AuthorizedCertificate' resource to manually map it to a DomainMapping resource.\nExample: 12345.", + "type": "string" + }, + "pendingManagedCertificateId": { + "description": "ID of the managed 'AuthorizedCertificate' resource currently being provisioned, if applicable. Until the new\nmanaged certificate has been successfully provisioned, the previous SSL state will be preserved. Once the\nprovisioning process completes, the 'certificateId' field will reflect the new managed certificate and this\nfield will be left empty. To remove SSL support while there is still a pending managed certificate, clear the\n'certificateId' field with an update request.", + "type": "string" + }, + "sslManagementType": { + "description": "SSL management type for this domain. If 'AUTOMATIC', a managed certificate is automatically provisioned.\nIf 'MANUAL', 'certificateId' must be manually specified in order to configure SSL for this domain. Possible values: [\"AUTOMATIC\", \"MANUAL\"].", + "type": "string" + } + }, + "required": [ + "sslManagementType" + ], + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "Full path to the DomainMapping resource in the API. Example: apps/myapp/domainMapping/example.com.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "resourceRecords": { + "description": "The resource records required to configure this domain mapping. These records must be added to the domain's DNS\nconfiguration in order to serve the application via this domain mapping.", + "items": { + "properties": { + "name": { + "description": "Relative name of the object affected by this record. Only applicable for CNAME records. Example: 'www'.", + "type": "string" + }, + "rrdata": { + "description": "Data for this record. Values vary by record type, as defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1).", + "type": "string" + }, + "type": { + "description": "Resource record type. Example: 'AAAA'. Possible values: [\"A\", \"AAAA\", \"CNAME\"].", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object" +} diff --git a/appengine.cnrm.cloud.google.com/appenginefirewallrule_v1alpha1.json b/appengine.cnrm.cloud.google.com/appenginefirewallrule_v1alpha1.json new file mode 100644 index 00000000..e59030d8 --- /dev/null +++ b/appengine.cnrm.cloud.google.com/appenginefirewallrule_v1alpha1.json @@ -0,0 +1,89 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "action": { + "description": "The action to take if this rule matches. Possible values: [\"UNSPECIFIED_ACTION\", \"ALLOW\", \"DENY\"].", + "type": "string" + }, + "description": { + "description": "An optional string description of this rule.", + "type": "string" + }, + "project": { + "description": "Immutable.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The priority of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "sourceRange": { + "description": "IP address or range, defined using CIDR notation, of requests that this rule applies to.", + "type": "string" + } + }, + "required": [ + "action", + "sourceRange" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/appengine.cnrm.cloud.google.com/appengineflexibleappversion_v1alpha1.json b/appengine.cnrm.cloud.google.com/appengineflexibleappversion_v1alpha1.json new file mode 100644 index 00000000..775f103c --- /dev/null +++ b/appengine.cnrm.cloud.google.com/appengineflexibleappversion_v1alpha1.json @@ -0,0 +1,734 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "apiConfig": { + "description": "Serving configuration for Google Cloud Endpoints.", + "properties": { + "authFailAction": { + "description": "Action to take when users access resources that require authentication. Default value: \"AUTH_FAIL_ACTION_REDIRECT\" Possible values: [\"AUTH_FAIL_ACTION_REDIRECT\", \"AUTH_FAIL_ACTION_UNAUTHORIZED\"].", + "type": "string" + }, + "login": { + "description": "Level of login required to access this resource. Default value: \"LOGIN_OPTIONAL\" Possible values: [\"LOGIN_OPTIONAL\", \"LOGIN_ADMIN\", \"LOGIN_REQUIRED\"].", + "type": "string" + }, + "script": { + "description": "Path to the script from the application root directory.", + "type": "string" + }, + "securityLevel": { + "description": "Security (HTTPS) enforcement for this URL. Possible values: [\"SECURE_DEFAULT\", \"SECURE_NEVER\", \"SECURE_OPTIONAL\", \"SECURE_ALWAYS\"].", + "type": "string" + }, + "url": { + "description": "URL to serve the endpoint at.", + "type": "string" + } + }, + "required": [ + "script" + ], + "type": "object", + "additionalProperties": false + }, + "automaticScaling": { + "description": "Automatic scaling is based on request rate, response latencies, and other application metrics.", + "properties": { + "coolDownPeriod": { + "description": "The time period that the Autoscaler should wait before it starts collecting information from a new instance.\nThis prevents the autoscaler from collecting information when the instance is initializing,\nduring which the collected usage would not be reliable. Default: 120s.", + "type": "string" + }, + "cpuUtilization": { + "description": "Target scaling by CPU usage.", + "properties": { + "aggregationWindowLength": { + "description": "Period of time over which CPU utilization is calculated.", + "type": "string" + }, + "targetUtilization": { + "description": "Target CPU utilization ratio to maintain when scaling. Must be between 0 and 1.", + "type": "number" + } + }, + "required": [ + "targetUtilization" + ], + "type": "object", + "additionalProperties": false + }, + "diskUtilization": { + "description": "Target scaling by disk usage.", + "properties": { + "targetReadBytesPerSecond": { + "description": "Target bytes read per second.", + "type": "integer" + }, + "targetReadOpsPerSecond": { + "description": "Target ops read per seconds.", + "type": "integer" + }, + "targetWriteBytesPerSecond": { + "description": "Target bytes written per second.", + "type": "integer" + }, + "targetWriteOpsPerSecond": { + "description": "Target ops written per second.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + }, + "maxConcurrentRequests": { + "description": "Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance.\n\nDefaults to a runtime-specific value.", + "type": "integer" + }, + "maxIdleInstances": { + "description": "Maximum number of idle instances that should be maintained for this version.", + "type": "integer" + }, + "maxPendingLatency": { + "description": "Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it.", + "type": "string" + }, + "maxTotalInstances": { + "description": "Maximum number of instances that should be started to handle requests for this version. Default: 20.", + "type": "integer" + }, + "minIdleInstances": { + "description": "Minimum number of idle instances that should be maintained for this version. Only applicable for the default version of a service.", + "type": "integer" + }, + "minPendingLatency": { + "description": "Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it.", + "type": "string" + }, + "minTotalInstances": { + "description": "Minimum number of running instances that should be maintained for this version. Default: 2.", + "type": "integer" + }, + "networkUtilization": { + "description": "Target scaling by network usage.", + "properties": { + "targetReceivedBytesPerSecond": { + "description": "Target bytes received per second.", + "type": "integer" + }, + "targetReceivedPacketsPerSecond": { + "description": "Target packets received per second.", + "type": "integer" + }, + "targetSentBytesPerSecond": { + "description": "Target bytes sent per second.", + "type": "integer" + }, + "targetSentPacketsPerSecond": { + "description": "Target packets sent per second.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + }, + "requestUtilization": { + "description": "Target scaling by request utilization.", + "properties": { + "targetConcurrentRequests": { + "description": "Target number of concurrent requests.", + "type": "number" + }, + "targetRequestCountPerSecond": { + "description": "Target requests per second.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "cpuUtilization" + ], + "type": "object", + "additionalProperties": false + }, + "betaSettings": { + "additionalProperties": { + "type": "string" + }, + "description": "Metadata settings that are supplied to this version to enable beta runtime features.", + "type": "object" + }, + "defaultExpiration": { + "description": "Duration that static files should be cached by web proxies and browsers.\nOnly applicable if the corresponding StaticFilesHandler does not specify its own expiration time.", + "type": "string" + }, + "deleteServiceOnDestroy": { + "description": "If set to 'true', the service will be deleted if it is the last version.", + "type": "boolean" + }, + "deployment": { + "description": "Code and application artifacts that make up this version.", + "properties": { + "cloudBuildOptions": { + "description": "Options for the build operations performed as a part of the version deployment. Only applicable when creating a version using source code directly.", + "properties": { + "appYamlPath": { + "description": "Path to the yaml file used in deployment, used to determine runtime configuration details.", + "type": "string" + }, + "cloudBuildTimeout": { + "description": "The Cloud Build timeout used as part of any dependent builds performed by version creation. Defaults to 10 minutes.\n\nA duration in seconds with up to nine fractional digits, terminated by 's'. Example: \"3.5s\".", + "type": "string" + } + }, + "required": [ + "appYamlPath" + ], + "type": "object", + "additionalProperties": false + }, + "container": { + "description": "The Docker image for the container that runs the version.", + "properties": { + "image": { + "description": "URI to the hosted container image in Google Container Registry. The URI must be fully qualified and include a tag or digest.\nExamples: \"gcr.io/my-project/image:tag\" or \"gcr.io/my-project/image@digest\".", + "type": "string" + } + }, + "required": [ + "image" + ], + "type": "object", + "additionalProperties": false + }, + "files": { + "description": "Manifest of the files stored in Google Cloud Storage that are included as part of this version.\nAll files must be readable using the credentials supplied with this call.", + "items": { + "properties": { + "name": { + "type": "string" + }, + "sha1Sum": { + "description": "SHA1 checksum of the file.", + "type": "string" + }, + "sourceUrl": { + "description": "Source URL.", + "type": "string" + } + }, + "required": [ + "name", + "sourceUrl" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "zip": { + "description": "Zip File.", + "properties": { + "filesCount": { + "description": "files count.", + "type": "integer" + }, + "sourceUrl": { + "description": "Source URL.", + "type": "string" + } + }, + "required": [ + "sourceUrl" + ], + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "endpointsApiService": { + "description": "Code and application artifacts that make up this version.", + "properties": { + "configId": { + "description": "Endpoints service configuration ID as specified by the Service Management API. For example \"2016-09-19r1\".\n\nBy default, the rollout strategy for Endpoints is \"FIXED\". This means that Endpoints starts up with a particular configuration ID.\nWhen a new configuration is rolled out, Endpoints must be given the new configuration ID. The configId field is used to give the configuration ID\nand is required in this case.\n\nEndpoints also has a rollout strategy called \"MANAGED\". When using this, Endpoints fetches the latest configuration and does not need\nthe configuration ID. In this case, configId must be omitted.", + "type": "string" + }, + "disableTraceSampling": { + "description": "Enable or disable trace sampling. By default, this is set to false for enabled.", + "type": "boolean" + }, + "name": { + "description": "Endpoints service name which is the name of the \"service\" resource in the Service Management API.\nFor example \"myapi.endpoints.myproject.cloud.goog\".", + "type": "string" + }, + "rolloutStrategy": { + "description": "Endpoints rollout strategy. If FIXED, configId must be specified. If MANAGED, configId must be omitted. Default value: \"FIXED\" Possible values: [\"FIXED\", \"MANAGED\"].", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "entrypoint": { + "description": "The entrypoint for the application.", + "properties": { + "shell": { + "description": "The format should be a shell command that can be fed to bash -c.", + "type": "string" + } + }, + "required": [ + "shell" + ], + "type": "object", + "additionalProperties": false + }, + "envVariables": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "handlers": { + "description": "An ordered list of URL-matching patterns that should be applied to incoming requests.\nThe first matching URL handles the request and other request handlers are not attempted.", + "items": { + "properties": { + "authFailAction": { + "description": "Actions to take when the user is not logged in. Possible values: [\"AUTH_FAIL_ACTION_REDIRECT\", \"AUTH_FAIL_ACTION_UNAUTHORIZED\"].", + "type": "string" + }, + "login": { + "description": "Methods to restrict access to a URL based on login status. Possible values: [\"LOGIN_OPTIONAL\", \"LOGIN_ADMIN\", \"LOGIN_REQUIRED\"].", + "type": "string" + }, + "redirectHttpResponseCode": { + "description": "30x code to use when performing redirects for the secure field. Possible values: [\"REDIRECT_HTTP_RESPONSE_CODE_301\", \"REDIRECT_HTTP_RESPONSE_CODE_302\", \"REDIRECT_HTTP_RESPONSE_CODE_303\", \"REDIRECT_HTTP_RESPONSE_CODE_307\"].", + "type": "string" + }, + "script": { + "description": "Executes a script to handle the requests that match this URL pattern.\nOnly the auto value is supported for Node.js in the App Engine standard environment, for example \"script:\" \"auto\".", + "properties": { + "scriptPath": { + "description": "Path to the script from the application root directory.", + "type": "string" + } + }, + "required": [ + "scriptPath" + ], + "type": "object", + "additionalProperties": false + }, + "securityLevel": { + "description": "Security (HTTPS) enforcement for this URL. Possible values: [\"SECURE_DEFAULT\", \"SECURE_NEVER\", \"SECURE_OPTIONAL\", \"SECURE_ALWAYS\"].", + "type": "string" + }, + "staticFiles": { + "description": "Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files.\nStatic file handlers describe which files in the application directory are static files, and which URLs serve them.", + "properties": { + "applicationReadable": { + "description": "Whether files should also be uploaded as code data. By default, files declared in static file handlers are\nuploaded as static data and are only served to end users; they cannot be read by the application. If enabled,\nuploads are charged against both your code and static data storage resource quotas.", + "type": "boolean" + }, + "expiration": { + "description": "Time a static file served by this handler should be cached by web proxies and browsers.\nA duration in seconds with up to nine fractional digits, terminated by 's'. Example \"3.5s\".\nDefault is '0s'.", + "type": "string" + }, + "httpHeaders": { + "additionalProperties": { + "type": "string" + }, + "description": "HTTP headers to use for all responses from these URLs.\nAn object containing a list of \"key:value\" value pairs.\".", + "type": "object" + }, + "mimeType": { + "description": "MIME type used to serve all files served by this handler.\nDefaults to file-specific MIME types, which are derived from each file's filename extension.", + "type": "string" + }, + "path": { + "description": "Path to the static files matched by the URL pattern, from the application root directory.\nThe path can refer to text matched in groupings in the URL pattern.", + "type": "string" + }, + "requireMatchingFile": { + "description": "Whether this handler should match the request if the file referenced by the handler does not exist.", + "type": "boolean" + }, + "uploadPathRegex": { + "description": "Regular expression that matches the file paths for all files that should be referenced by this handler.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "urlRegex": { + "description": "URL prefix. Uses regular expression syntax, which means regexp special characters must be escaped, but should not contain groupings.\nAll URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "inboundServices": { + "description": "A list of the types of messages that this application is able to receive. Possible values: [\"INBOUND_SERVICE_MAIL\", \"INBOUND_SERVICE_MAIL_BOUNCE\", \"INBOUND_SERVICE_XMPP_ERROR\", \"INBOUND_SERVICE_XMPP_MESSAGE\", \"INBOUND_SERVICE_XMPP_SUBSCRIBE\", \"INBOUND_SERVICE_XMPP_PRESENCE\", \"INBOUND_SERVICE_CHANNEL_PRESENCE\", \"INBOUND_SERVICE_WARMUP\"].", + "items": { + "type": "string" + }, + "type": "array" + }, + "instanceClass": { + "description": "Instance class that is used to run this version. Valid values are\nAutomaticScaling: F1, F2, F4, F4_1G\nManualScaling: B1, B2, B4, B8, B4_1G\nDefaults to F1 for AutomaticScaling and B1 for ManualScaling.", + "type": "string" + }, + "livenessCheck": { + "description": "Health checking configuration for VM instances. Unhealthy instances are killed and replaced with new instances.", + "properties": { + "checkInterval": { + "description": "Interval between health checks.", + "type": "string" + }, + "failureThreshold": { + "description": "Number of consecutive failed checks required before considering the VM unhealthy. Default: 4.", + "type": "number" + }, + "host": { + "description": "Host header to send when performing a HTTP Readiness check. Example: \"myapp.appspot.com\".", + "type": "string" + }, + "initialDelay": { + "description": "The initial delay before starting to execute the checks. Default: \"300s\".", + "type": "string" + }, + "path": { + "description": "The request path.", + "type": "string" + }, + "successThreshold": { + "description": "Number of consecutive successful checks required before considering the VM healthy. Default: 2.", + "type": "number" + }, + "timeout": { + "description": "Time before the check is considered failed. Default: \"4s\".", + "type": "string" + } + }, + "required": [ + "path" + ], + "type": "object", + "additionalProperties": false + }, + "manualScaling": { + "description": "A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time.", + "properties": { + "instances": { + "description": "Number of instances to assign to the service at the start.\n\n**Note:** When managing the number of instances at runtime through the App Engine Admin API or the (now deprecated) Python 2\nModules API set_num_instances() you must use 'lifecycle.ignore_changes = [\"manual_scaling\"[0].instances]' to prevent drift detection.", + "type": "integer" + } + }, + "required": [ + "instances" + ], + "type": "object", + "additionalProperties": false + }, + "network": { + "description": "Extra network settings.", + "properties": { + "forwardedPorts": { + "description": "List of ports, or port pairs, to forward from the virtual machine to the application container.", + "items": { + "type": "string" + }, + "type": "array" + }, + "instanceTag": { + "description": "Tag to apply to the instance during creation.", + "type": "string" + }, + "name": { + "description": "Google Compute Engine network where the virtual machines are created. Specify the short name, not the resource path.", + "type": "string" + }, + "sessionAffinity": { + "description": "Enable session affinity.", + "type": "boolean" + }, + "subnetwork": { + "description": "Google Cloud Platform sub-network where the virtual machines are created. Specify the short name, not the resource path.\n\nIf the network that the instance is being created in is a Legacy network, then the IP address is allocated from the IPv4Range.\nIf the network that the instance is being created in is an auto Subnet Mode Network, then only network name should be specified (not the subnetworkName) and the IP address is created from the IPCidrRange of the subnetwork that exists in that zone for that network.\nIf the network that the instance is being created in is a custom Subnet Mode Network, then the subnetworkName must be specified and the IP address is created from the IPCidrRange of the subnetwork.\nIf specified, the subnetwork must exist in the same region as the App Engine flexible environment application.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "nobuildFilesRegex": { + "description": "Files that match this pattern will not be built into this version. Only applicable for Go runtimes.", + "type": "string" + }, + "noopOnDestroy": { + "description": "If set to 'true', the application version will not be deleted.", + "type": "boolean" + }, + "project": { + "description": "Immutable.", + "type": "string" + }, + "readinessCheck": { + "description": "Configures readiness health checking for instances. Unhealthy instances are not put into the backend traffic rotation.", + "properties": { + "appStartTimeout": { + "description": "A maximum time limit on application initialization, measured from moment the application successfully\nreplies to a healthcheck until it is ready to serve traffic. Default: \"300s\".", + "type": "string" + }, + "checkInterval": { + "description": "Interval between health checks. Default: \"5s\".", + "type": "string" + }, + "failureThreshold": { + "description": "Number of consecutive failed checks required before removing traffic. Default: 2.", + "type": "number" + }, + "host": { + "description": "Host header to send when performing a HTTP Readiness check. Example: \"myapp.appspot.com\".", + "type": "string" + }, + "path": { + "description": "The request path.", + "type": "string" + }, + "successThreshold": { + "description": "Number of consecutive successful checks required before receiving traffic. Default: 2.", + "type": "number" + }, + "timeout": { + "description": "Time before the check is considered failed. Default: \"4s\".", + "type": "string" + } + }, + "required": [ + "path" + ], + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The versionId of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "resources": { + "description": "Machine resources for a version.", + "properties": { + "cpu": { + "description": "Number of CPU cores needed.", + "type": "integer" + }, + "diskGb": { + "description": "Disk size (GB) needed.", + "type": "integer" + }, + "memoryGb": { + "description": "Memory (GB) needed.", + "type": "number" + }, + "volumes": { + "description": "List of ports, or port pairs, to forward from the virtual machine to the application container.", + "items": { + "properties": { + "name": { + "description": "Unique name for the volume.", + "type": "string" + }, + "sizeGb": { + "description": "Volume size in gigabytes.", + "type": "integer" + }, + "volumeType": { + "description": "Underlying volume type, e.g. 'tmpfs'.", + "type": "string" + } + }, + "required": [ + "name", + "sizeGb", + "volumeType" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "type": "object", + "additionalProperties": false + }, + "runtime": { + "description": "Desired runtime. Example python27.", + "type": "string" + }, + "runtimeApiVersion": { + "description": "The version of the API in the given runtime environment.\nPlease see the app.yaml reference for valid values at 'https://cloud.google.com/appengine/docs/standard//config/appref'\\\nSubstitute '' with 'python', 'java', 'php', 'ruby', 'go' or 'nodejs'.", + "type": "string" + }, + "runtimeChannel": { + "description": "The channel of the runtime to use. Only available for some runtimes.", + "type": "string" + }, + "runtimeMainExecutablePath": { + "description": "The path or name of the app's main executable.", + "type": "string" + }, + "serviceAccount": { + "description": "The identity that the deployed version will run as. Admin API will use the App Engine Appspot service account as\ndefault if this field is neither provided in app.yaml file nor through CLI flag.", + "type": "string" + }, + "serviceRef": { + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of an `AppEngineService` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "servingStatus": { + "description": "Current serving status of this version. Only the versions with a SERVING status create instances and can be billed. Default value: \"SERVING\" Possible values: [\"SERVING\", \"STOPPED\"].", + "type": "string" + }, + "vpcAccessConnector": { + "description": "Enables VPC connectivity for standard apps.", + "properties": { + "name": { + "description": "Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "livenessCheck", + "readinessCheck", + "runtime", + "serviceRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "Full path to the Version resource in the API. Example, \"v1\".", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/appengine.cnrm.cloud.google.com/appengineservicesplittraffic_v1alpha1.json b/appengine.cnrm.cloud.google.com/appengineservicesplittraffic_v1alpha1.json new file mode 100644 index 00000000..f3549e91 --- /dev/null +++ b/appengine.cnrm.cloud.google.com/appengineservicesplittraffic_v1alpha1.json @@ -0,0 +1,101 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "migrateTraffic": { + "description": "If set to true traffic will be migrated to this version.", + "type": "boolean" + }, + "project": { + "description": "Immutable.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The service of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "split": { + "description": "Mapping that defines fractional HTTP traffic diversion to different versions within the service.", + "properties": { + "allocations": { + "additionalProperties": { + "type": "string" + }, + "description": "Mapping from version IDs within the service to fractional (0.000, 1] allocations of traffic for that version. Each version can be specified only once, but some versions in the service may not have any traffic allocation. Services that have traffic allocated cannot be deleted until either the service is deleted or their traffic allocation is removed. Allocations must sum to 1. Up to two decimal place precision is supported for IP-based splits and up to three decimal places is supported for cookie-based splits.", + "type": "object" + }, + "shardBy": { + "description": "Mechanism used to determine which version a request is sent to. The traffic selection algorithm will be stable for either type until allocations are changed. Possible values: [\"UNSPECIFIED\", \"COOKIE\", \"IP\", \"RANDOM\"].", + "type": "string" + } + }, + "required": [ + "allocations" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "split" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/appengine.cnrm.cloud.google.com/appenginestandardappversion_v1alpha1.json b/appengine.cnrm.cloud.google.com/appenginestandardappversion_v1alpha1.json new file mode 100644 index 00000000..8b6768b2 --- /dev/null +++ b/appengine.cnrm.cloud.google.com/appenginestandardappversion_v1alpha1.json @@ -0,0 +1,442 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "appEngineApis": { + "description": "Allows App Engine second generation runtimes to access the legacy bundled services.", + "type": "boolean" + }, + "automaticScaling": { + "description": "Automatic scaling is based on request rate, response latencies, and other application metrics.", + "properties": { + "maxConcurrentRequests": { + "description": "Number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance.\n\nDefaults to a runtime-specific value.", + "type": "integer" + }, + "maxIdleInstances": { + "description": "Maximum number of idle instances that should be maintained for this version.", + "type": "integer" + }, + "maxPendingLatency": { + "description": "Maximum amount of time that a request should wait in the pending queue before starting a new instance to handle it.\nA duration in seconds with up to nine fractional digits, terminated by 's'. Example: \"3.5s\".", + "type": "string" + }, + "minIdleInstances": { + "description": "Minimum number of idle instances that should be maintained for this version. Only applicable for the default version of a service.", + "type": "integer" + }, + "minPendingLatency": { + "description": "Minimum amount of time a request should wait in the pending queue before starting a new instance to handle it.\nA duration in seconds with up to nine fractional digits, terminated by 's'. Example: \"3.5s\".", + "type": "string" + }, + "standardSchedulerSettings": { + "description": "Scheduler settings for standard environment.", + "properties": { + "maxInstances": { + "description": "Maximum number of instances to run for this version. Set to zero to disable maxInstances configuration.", + "type": "integer" + }, + "minInstances": { + "description": "Minimum number of instances to run for this version. Set to zero to disable minInstances configuration.", + "type": "integer" + }, + "targetCpuUtilization": { + "description": "Target CPU utilization ratio to maintain when scaling. Should be a value in the range [0.50, 0.95], zero, or a negative value.", + "type": "number" + }, + "targetThroughputUtilization": { + "description": "Target throughput utilization ratio to maintain when scaling. Should be a value in the range [0.50, 0.95], zero, or a negative value.", + "type": "number" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "basicScaling": { + "description": "Basic scaling creates instances when your application receives requests. Each instance will be shut down when the application becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity.", + "properties": { + "idleTimeout": { + "description": "Duration of time after the last request that an instance must wait before the instance is shut down.\nA duration in seconds with up to nine fractional digits, terminated by 's'. Example: \"3.5s\". Defaults to 900s.", + "type": "string" + }, + "maxInstances": { + "description": "Maximum number of instances to create for this version. Must be in the range [1.0, 200.0].", + "type": "integer" + } + }, + "required": [ + "maxInstances" + ], + "type": "object", + "additionalProperties": false + }, + "deleteServiceOnDestroy": { + "description": "If set to 'true', the service will be deleted if it is the last version.", + "type": "boolean" + }, + "deployment": { + "description": "Code and application artifacts that make up this version.", + "properties": { + "files": { + "description": "Manifest of the files stored in Google Cloud Storage that are included as part of this version.\nAll files must be readable using the credentials supplied with this call.", + "items": { + "properties": { + "name": { + "type": "string" + }, + "sha1Sum": { + "description": "SHA1 checksum of the file.", + "type": "string" + }, + "sourceUrl": { + "description": "Source URL.", + "type": "string" + } + }, + "required": [ + "name", + "sourceUrl" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "zip": { + "description": "Zip File.", + "properties": { + "filesCount": { + "description": "files count.", + "type": "integer" + }, + "sourceUrl": { + "description": "Source URL.", + "type": "string" + } + }, + "required": [ + "sourceUrl" + ], + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "entrypoint": { + "description": "The entrypoint for the application.", + "properties": { + "shell": { + "description": "The format should be a shell command that can be fed to bash -c.", + "type": "string" + } + }, + "required": [ + "shell" + ], + "type": "object", + "additionalProperties": false + }, + "envVariables": { + "additionalProperties": { + "type": "string" + }, + "description": "Environment variables available to the application.", + "type": "object" + }, + "handlers": { + "description": "An ordered list of URL-matching patterns that should be applied to incoming requests.\nThe first matching URL handles the request and other request handlers are not attempted.", + "items": { + "properties": { + "authFailAction": { + "description": "Actions to take when the user is not logged in. Possible values: [\"AUTH_FAIL_ACTION_REDIRECT\", \"AUTH_FAIL_ACTION_UNAUTHORIZED\"].", + "type": "string" + }, + "login": { + "description": "Methods to restrict access to a URL based on login status. Possible values: [\"LOGIN_OPTIONAL\", \"LOGIN_ADMIN\", \"LOGIN_REQUIRED\"].", + "type": "string" + }, + "redirectHttpResponseCode": { + "description": "30x code to use when performing redirects for the secure field. Possible values: [\"REDIRECT_HTTP_RESPONSE_CODE_301\", \"REDIRECT_HTTP_RESPONSE_CODE_302\", \"REDIRECT_HTTP_RESPONSE_CODE_303\", \"REDIRECT_HTTP_RESPONSE_CODE_307\"].", + "type": "string" + }, + "script": { + "description": "Executes a script to handle the requests that match this URL pattern.\nOnly the auto value is supported for Node.js in the App Engine standard environment, for example \"script:\" \"auto\".", + "properties": { + "scriptPath": { + "description": "Path to the script from the application root directory.", + "type": "string" + } + }, + "required": [ + "scriptPath" + ], + "type": "object", + "additionalProperties": false + }, + "securityLevel": { + "description": "Security (HTTPS) enforcement for this URL. Possible values: [\"SECURE_DEFAULT\", \"SECURE_NEVER\", \"SECURE_OPTIONAL\", \"SECURE_ALWAYS\"].", + "type": "string" + }, + "staticFiles": { + "description": "Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. Static file handlers describe which files in the application directory are static files, and which URLs serve them.", + "properties": { + "applicationReadable": { + "description": "Whether files should also be uploaded as code data. By default, files declared in static file handlers are uploaded as\nstatic data and are only served to end users; they cannot be read by the application. If enabled, uploads are charged\nagainst both your code and static data storage resource quotas.", + "type": "boolean" + }, + "expiration": { + "description": "Time a static file served by this handler should be cached by web proxies and browsers.\nA duration in seconds with up to nine fractional digits, terminated by 's'. Example \"3.5s\".", + "type": "string" + }, + "httpHeaders": { + "additionalProperties": { + "type": "string" + }, + "description": "HTTP headers to use for all responses from these URLs.\nAn object containing a list of \"key:value\" value pairs.\".", + "type": "object" + }, + "mimeType": { + "description": "MIME type used to serve all files served by this handler.\nDefaults to file-specific MIME types, which are derived from each file's filename extension.", + "type": "string" + }, + "path": { + "description": "Path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern.", + "type": "string" + }, + "requireMatchingFile": { + "description": "Whether this handler should match the request if the file referenced by the handler does not exist.", + "type": "boolean" + }, + "uploadPathRegex": { + "description": "Regular expression that matches the file paths for all files that should be referenced by this handler.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "urlRegex": { + "description": "URL prefix. Uses regular expression syntax, which means regexp special characters must be escaped, but should not contain groupings.\nAll URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "inboundServices": { + "description": "A list of the types of messages that this application is able to receive. Possible values: [\"INBOUND_SERVICE_MAIL\", \"INBOUND_SERVICE_MAIL_BOUNCE\", \"INBOUND_SERVICE_XMPP_ERROR\", \"INBOUND_SERVICE_XMPP_MESSAGE\", \"INBOUND_SERVICE_XMPP_SUBSCRIBE\", \"INBOUND_SERVICE_XMPP_PRESENCE\", \"INBOUND_SERVICE_CHANNEL_PRESENCE\", \"INBOUND_SERVICE_WARMUP\"].", + "items": { + "type": "string" + }, + "type": "array" + }, + "instanceClass": { + "description": "Instance class that is used to run this version. Valid values are\nAutomaticScaling: F1, F2, F4, F4_1G\nBasicScaling or ManualScaling: B1, B2, B4, B4_1G, B8\nDefaults to F1 for AutomaticScaling and B2 for ManualScaling and BasicScaling. If no scaling is specified, AutomaticScaling is chosen.", + "type": "string" + }, + "libraries": { + "description": "Configuration for third-party Python runtime libraries that are required by the application.", + "items": { + "properties": { + "name": { + "description": "Name of the library. Example \"django\".", + "type": "string" + }, + "version": { + "description": "Version of the library to select, or \"latest\".", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "manualScaling": { + "description": "A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time.", + "properties": { + "instances": { + "description": "Number of instances to assign to the service at the start.\n\n**Note:** When managing the number of instances at runtime through the App Engine Admin API or the (now deprecated) Python 2\nModules API set_num_instances() you must use 'lifecycle.ignore_changes = [\"manual_scaling\"[0].instances]' to prevent drift detection.", + "type": "integer" + } + }, + "required": [ + "instances" + ], + "type": "object", + "additionalProperties": false + }, + "noopOnDestroy": { + "description": "If set to 'true', the application version will not be deleted.", + "type": "boolean" + }, + "project": { + "description": "Immutable.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The versionId of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "runtime": { + "description": "Desired runtime. Example python27.", + "type": "string" + }, + "runtimeApiVersion": { + "description": "The version of the API in the given runtime environment.\nPlease see the app.yaml reference for valid values at 'https://cloud.google.com/appengine/docs/standard//config/appref'\\\nSubstitute '' with 'python', 'java', 'php', 'ruby', 'go' or 'nodejs'.", + "type": "string" + }, + "serviceAccount": { + "description": "The identity that the deployed version will run as. Admin API will use the App Engine Appspot service account as default if this field is neither provided in app.yaml file nor through CLI flag.", + "type": "string" + }, + "serviceRef": { + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of an `AppEngineService` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "threadsafe": { + "description": "Whether multiple requests can be dispatched to this version at once.", + "type": "boolean" + }, + "vpcAccessConnector": { + "description": "Enables VPC connectivity for standard apps.", + "properties": { + "egressSetting": { + "description": "The egress setting for the connector, controlling what traffic is diverted through it.", + "type": "string" + }, + "name": { + "description": "Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/us-central1/connectors/c1.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "deployment", + "entrypoint", + "runtime", + "serviceRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "Full path to the Version resource in the API. Example, \"v1\".", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/beyondcorp.cnrm.cloud.google.com/beyondcorpappconnection_v1alpha1.json b/beyondcorp.cnrm.cloud.google.com/beyondcorpappconnection_v1alpha1.json new file mode 100644 index 00000000..f83b91d4 --- /dev/null +++ b/beyondcorp.cnrm.cloud.google.com/beyondcorpappconnection_v1alpha1.json @@ -0,0 +1,188 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "applicationEndpoint": { + "description": "Address of the remote application endpoint for the BeyondCorp AppConnection.", + "properties": { + "host": { + "description": "Hostname or IP address of the remote application endpoint.", + "type": "string" + }, + "port": { + "description": "Port of the remote application endpoint.", + "type": "integer" + } + }, + "required": [ + "host", + "port" + ], + "type": "object", + "additionalProperties": false + }, + "connectors": { + "description": "List of AppConnectors that are authorised to be associated with this AppConnection.", + "items": { + "type": "string" + }, + "type": "array" + }, + "displayName": { + "description": "An arbitrary user-provided name for the AppConnection.", + "type": "string" + }, + "gateway": { + "description": "Gateway used by the AppConnection.", + "properties": { + "appGateway": { + "description": "AppGateway name in following format: projects/{project_id}/locations/{locationId}/appgateways/{gateway_id}.", + "type": "string" + }, + "ingressPort": { + "description": "Ingress port reserved on the gateways for this AppConnection, if not specified or zero, the default port is 19443.", + "type": "integer" + }, + "type": { + "description": "The type of hosting used by the gateway. Refer to\nhttps://cloud.google.com/beyondcorp/docs/reference/rest/v1/projects.locations.appConnections#Type_1\nfor a list of possible values.", + "type": "string" + }, + "uri": { + "description": "Server-defined URI for this resource.", + "type": "string" + } + }, + "required": [ + "appGateway" + ], + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Immutable. The region of the AppConnection.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "type": { + "description": "Immutable. The type of network connectivity used by the AppConnection. Refer to\nhttps://cloud.google.com/beyondcorp/docs/reference/rest/v1/projects.locations.appConnections#type\nfor a list of possible values.", + "type": "string" + } + }, + "required": [ + "applicationEndpoint", + "projectRef", + "region" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/beyondcorp.cnrm.cloud.google.com/beyondcorpappconnector_v1alpha1.json b/beyondcorp.cnrm.cloud.google.com/beyondcorpappconnector_v1alpha1.json new file mode 100644 index 00000000..50095482 --- /dev/null +++ b/beyondcorp.cnrm.cloud.google.com/beyondcorpappconnector_v1alpha1.json @@ -0,0 +1,160 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "displayName": { + "description": "An arbitrary user-provided name for the AppConnector.", + "type": "string" + }, + "principalInfo": { + "description": "Principal information about the Identity of the AppConnector.", + "properties": { + "serviceAccount": { + "description": "ServiceAccount represents a GCP service account.", + "properties": { + "email": { + "description": "Email address of the service account.", + "type": "string" + } + }, + "required": [ + "email" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "serviceAccount" + ], + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Immutable. The region of the AppConnector.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "principalInfo", + "projectRef", + "region" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "state": { + "description": "Represents the different states of a AppConnector.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/beyondcorp.cnrm.cloud.google.com/beyondcorpappgateway_v1alpha1.json b/beyondcorp.cnrm.cloud.google.com/beyondcorpappgateway_v1alpha1.json new file mode 100644 index 00000000..5d40a6dd --- /dev/null +++ b/beyondcorp.cnrm.cloud.google.com/beyondcorpappgateway_v1alpha1.json @@ -0,0 +1,165 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "displayName": { + "description": "Immutable. An arbitrary user-provided name for the AppGateway.", + "type": "string" + }, + "hostType": { + "description": "Immutable. The type of hosting used by the AppGateway. Default value: \"HOST_TYPE_UNSPECIFIED\" Possible values: [\"HOST_TYPE_UNSPECIFIED\", \"GCP_REGIONAL_MIG\"].", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Immutable. The region of the AppGateway.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "type": { + "description": "Immutable. The type of network connectivity used by the AppGateway. Default value: \"TYPE_UNSPECIFIED\" Possible values: [\"TYPE_UNSPECIFIED\", \"TCP_PROXY\"].", + "type": "string" + } + }, + "required": [ + "projectRef", + "region" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "allocatedConnections": { + "description": "A list of connections allocated for the Gateway.", + "items": { + "properties": { + "ingressPort": { + "description": "The ingress port of an allocated connection.", + "type": "integer" + }, + "pscUri": { + "description": "The PSC uri of an allocated connection.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "state": { + "description": "Represents the different states of a AppGateway.", + "type": "string" + }, + "uri": { + "description": "Server-defined URI for this resource.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/bigquery.cnrm.cloud.google.com/bigquerydatasetaccess_v1alpha1.json b/bigquery.cnrm.cloud.google.com/bigquerydatasetaccess_v1alpha1.json new file mode 100644 index 00000000..3c2c01eb --- /dev/null +++ b/bigquery.cnrm.cloud.google.com/bigquerydatasetaccess_v1alpha1.json @@ -0,0 +1,216 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "dataset": { + "description": "Immutable. Grants all resources of particular types in a particular dataset read access to the current dataset.", + "properties": { + "dataset": { + "description": "Immutable. The dataset this entry applies to.", + "properties": { + "datasetId": { + "description": "Immutable. The ID of the dataset containing this table.", + "type": "string" + }, + "projectId": { + "description": "Immutable. The ID of the project containing this table.", + "type": "string" + } + }, + "required": [ + "datasetId", + "projectId" + ], + "type": "object", + "additionalProperties": false + }, + "targetTypes": { + "description": "Immutable. Which resources in the dataset this entry applies to. Currently, only views are supported,\nbut additional target types may be added in the future. Possible values: VIEWS.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "dataset", + "targetTypes" + ], + "type": "object", + "additionalProperties": false + }, + "datasetId": { + "description": "Immutable. A unique ID for this dataset, without the project name. The ID\nmust contain only letters (a-z, A-Z), numbers (0-9), or\nunderscores (_). The maximum length is 1,024 characters.", + "type": "string" + }, + "domain": { + "description": "Immutable. A domain to grant access to. Any users signed in with the\ndomain specified will be granted the specified access.", + "type": "string" + }, + "groupByEmail": { + "description": "Immutable. An email address of a Google Group to grant access to.", + "type": "string" + }, + "iamMember": { + "description": "Immutable. Some other type of member that appears in the IAM Policy but isn't a user,\ngroup, domain, or special group. For example: 'allUsers'.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The routine of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "role": { + "description": "Immutable. Describes the rights granted to the user specified by the other\nmember of the access object. Basic, predefined, and custom roles are\nsupported. Predefined roles that have equivalent basic roles are\nswapped by the API to their basic counterparts, and will show a diff\npost-create. See\n[official docs](https://cloud.google.com/bigquery/docs/access-control).", + "type": "string" + }, + "specialGroup": { + "description": "Immutable. A special group to grant access to. Possible values include:\n\n\n* 'projectOwners': Owners of the enclosing project.\n\n\n* 'projectReaders': Readers of the enclosing project.\n\n\n* 'projectWriters': Writers of the enclosing project.\n\n\n* 'allAuthenticatedUsers': All authenticated BigQuery users.", + "type": "string" + }, + "userByEmail": { + "description": "Immutable. An email address of a user to grant access to. For example:\nfred@example.com.", + "type": "string" + }, + "view": { + "description": "Immutable. A view from a different dataset to grant access to. Queries\nexecuted against that view will have read access to tables in\nthis dataset. The role field is not required when this field is\nset. If that view is updated by any user, access to the view\nneeds to be granted again via an update operation.", + "properties": { + "datasetId": { + "description": "Immutable. The ID of the dataset containing this table.", + "type": "string" + }, + "projectId": { + "description": "Immutable. The ID of the project containing this table.", + "type": "string" + }, + "tableId": { + "description": "Immutable. The ID of the table. The ID must contain only letters (a-z,\nA-Z), numbers (0-9), or underscores (_). The maximum length\nis 1,024 characters.", + "type": "string" + } + }, + "required": [ + "datasetId", + "projectId", + "tableId" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "datasetId", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "apiUpdatedMember": { + "description": "If true, represents that that the iam_member in the config was translated to a different member type by the API, and is stored in state as a different member type.", + "type": "boolean" + }, + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/bigqueryanalyticshub.cnrm.cloud.google.com/bigqueryanalyticshubdataexchange_v1alpha1.json b/bigqueryanalyticshub.cnrm.cloud.google.com/bigqueryanalyticshubdataexchange_v1alpha1.json new file mode 100644 index 00000000..24b39b09 --- /dev/null +++ b/bigqueryanalyticshub.cnrm.cloud.google.com/bigqueryanalyticshubdataexchange_v1alpha1.json @@ -0,0 +1,156 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "description": { + "description": "Description of the data exchange.", + "type": "string" + }, + "displayName": { + "description": "Human-readable display name of the data exchange. The display name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and must not start or end with spaces.", + "type": "string" + }, + "documentation": { + "description": "Documentation describing the data exchange.", + "type": "string" + }, + "icon": { + "description": "Base64 encoded image representing the data exchange.", + "type": "string" + }, + "location": { + "description": "Immutable. The name of the location this data exchange.", + "type": "string" + }, + "primaryContact": { + "description": "Email or URL of the primary point of contact of the data exchange.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The dataExchangeId of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "displayName", + "location", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "listingCount": { + "description": "Number of listings contained in the data exchange.", + "type": "integer" + }, + "name": { + "description": "The resource name of the data exchange, for example:\n\"projects/myproject/locations/US/dataExchanges/123\".", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/bigqueryanalyticshub.cnrm.cloud.google.com/bigqueryanalyticshublisting_v1alpha1.json b/bigqueryanalyticshub.cnrm.cloud.google.com/bigqueryanalyticshublisting_v1alpha1.json new file mode 100644 index 00000000..e1d33299 --- /dev/null +++ b/bigqueryanalyticshub.cnrm.cloud.google.com/bigqueryanalyticshublisting_v1alpha1.json @@ -0,0 +1,219 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "bigqueryDataset": { + "description": "Shared dataset i.e. BigQuery dataset source.", + "properties": { + "dataset": { + "description": "Resource name of the dataset source for this listing. e.g. projects/myproject/datasets/123.", + "type": "string" + } + }, + "required": [ + "dataset" + ], + "type": "object", + "additionalProperties": false + }, + "categories": { + "description": "Categories of the listing. Up to two categories are allowed.", + "items": { + "type": "string" + }, + "type": "array" + }, + "dataExchangeId": { + "description": "Immutable. The ID of the data exchange. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces.", + "type": "string" + }, + "dataProvider": { + "description": "Details of the data provider who owns the source data.", + "properties": { + "name": { + "description": "Name of the data provider.", + "type": "string" + }, + "primaryContact": { + "description": "Email or URL of the data provider.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "description": { + "description": "Short description of the listing. The description must not contain Unicode non-characters and C0 and C1 control codes except tabs (HT), new lines (LF), carriage returns (CR), and page breaks (FF).", + "type": "string" + }, + "displayName": { + "description": "Human-readable display name of the listing. The display name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), ampersands (&) and can't start or end with spaces.", + "type": "string" + }, + "documentation": { + "description": "Documentation describing the listing.", + "type": "string" + }, + "icon": { + "description": "Base64 encoded image representing the listing.", + "type": "string" + }, + "location": { + "description": "Immutable. The name of the location this data exchange listing.", + "type": "string" + }, + "primaryContact": { + "description": "Email or URL of the primary point of contact of the listing.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "publisher": { + "description": "Details of the publisher who owns the listing and who can share the source data.", + "properties": { + "name": { + "description": "Name of the listing publisher.", + "type": "string" + }, + "primaryContact": { + "description": "Email or URL of the listing publisher.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "requestAccess": { + "description": "Email or URL of the request access of the listing. Subscribers can use this reference to request access.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The listingId of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "bigqueryDataset", + "dataExchangeId", + "displayName", + "location", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The resource name of the listing. e.g. \"projects/myproject/locations/US/dataExchanges/123/listings/456\".", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/bigqueryconnection.cnrm.cloud.google.com/bigqueryconnectionconnection_v1alpha1.json b/bigqueryconnection.cnrm.cloud.google.com/bigqueryconnectionconnection_v1alpha1.json new file mode 100644 index 00000000..0659855e --- /dev/null +++ b/bigqueryconnection.cnrm.cloud.google.com/bigqueryconnectionconnection_v1alpha1.json @@ -0,0 +1,345 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "aws": { + "description": "Connection properties specific to Amazon Web Services.", + "properties": { + "accessRole": { + "description": "Authentication using Google owned service account to assume into customer's AWS IAM Role.", + "properties": { + "iamRoleId": { + "description": "The user\u2019s AWS IAM Role that trusts the Google-owned AWS IAM user Connection.", + "type": "string" + }, + "identity": { + "description": "A unique Google-owned and Google-generated identity for the Connection. This identity will be used to access the user's AWS IAM Role.", + "type": "string" + } + }, + "required": [ + "iamRoleId" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "accessRole" + ], + "type": "object", + "additionalProperties": false + }, + "azure": { + "description": "Container for connection properties specific to Azure.", + "properties": { + "application": { + "description": "The name of the Azure Active Directory Application.", + "type": "string" + }, + "clientId": { + "description": "The client id of the Azure Active Directory Application.", + "type": "string" + }, + "customerTenantId": { + "description": "The id of customer's directory that host the data.", + "type": "string" + }, + "federatedApplicationClientId": { + "description": "The Azure Application (client) ID where the federated credentials will be hosted.", + "type": "string" + }, + "identity": { + "description": "A unique Google-owned and Google-generated identity for the Connection. This identity will be used to access the user's Azure Active Directory Application.", + "type": "string" + }, + "objectId": { + "description": "The object id of the Azure Active Directory Application.", + "type": "string" + }, + "redirectUri": { + "description": "The URL user will be redirected to after granting consent during connection setup.", + "type": "string" + } + }, + "required": [ + "customerTenantId" + ], + "type": "object", + "additionalProperties": false + }, + "cloudResource": { + "description": "Container for connection properties for delegation of access to GCP resources.", + "properties": { + "serviceAccountId": { + "description": "The account ID of the service created for the purpose of this connection.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "cloudSpanner": { + "description": "Connection properties specific to Cloud Spanner.", + "properties": { + "database": { + "description": "Cloud Spanner database in the form 'project/instance/database'.", + "type": "string" + }, + "useParallelism": { + "description": "If parallelism should be used when reading from Cloud Spanner.", + "type": "boolean" + }, + "useServerlessAnalytics": { + "description": "If the serverless analytics service should be used to read data from Cloud Spanner. useParallelism must be set when using serverless analytics.", + "type": "boolean" + } + }, + "required": [ + "database" + ], + "type": "object", + "additionalProperties": false + }, + "cloudSql": { + "description": "Connection properties specific to the Cloud SQL.", + "properties": { + "credential": { + "description": "Cloud SQL properties.", + "properties": { + "password": { + "description": "Password for database.", + "oneOf": [ + { + "not": { + "required": [ + "valueFrom" + ] + }, + "required": [ + "value" + ] + }, + { + "not": { + "required": [ + "value" + ] + }, + "required": [ + "valueFrom" + ] + } + ], + "properties": { + "value": { + "description": "Value of the field. Cannot be used if 'valueFrom' is specified.", + "type": "string" + }, + "valueFrom": { + "description": "Source for the field's value. Cannot be used if 'value' is specified.", + "properties": { + "secretKeyRef": { + "description": "Reference to a value with the given key in the given Secret in the resource's namespace.", + "properties": { + "key": { + "description": "Key that identifies the value to be extracted.", + "type": "string" + }, + "name": { + "description": "Name of the Secret to extract a value from.", + "type": "string" + } + }, + "required": [ + "name", + "key" + ], + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "username": { + "description": "Username for database.", + "type": "string" + } + }, + "required": [ + "password", + "username" + ], + "type": "object", + "additionalProperties": false + }, + "database": { + "description": "Database name.", + "type": "string" + }, + "instanceId": { + "description": "Cloud SQL instance ID in the form project:location:instance.", + "type": "string" + }, + "serviceAccountId": { + "description": "When the connection is used in the context of an operation in BigQuery, this service account will serve as the identity being used for connecting to the CloudSQL instance specified in this connection.", + "type": "string" + }, + "type": { + "description": "Type of the Cloud SQL database. Possible values: [\"DATABASE_TYPE_UNSPECIFIED\", \"POSTGRES\", \"MYSQL\"].", + "type": "string" + } + }, + "required": [ + "credential", + "database", + "instanceId", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "description": { + "description": "A descriptive description for the connection.", + "type": "string" + }, + "friendlyName": { + "description": "A descriptive name for the connection.", + "type": "string" + }, + "location": { + "description": "Immutable. The geographic location where the connection should reside.\nCloud SQL instance must be in the same location as the connection\nwith following exceptions: Cloud SQL us-central1 maps to BigQuery US, Cloud SQL europe-west1 maps to BigQuery EU.\nExamples: US, EU, asia-northeast1, us-central1, europe-west1.\nSpanner Connections same as spanner region\nAWS allowed regions are aws-us-east-1\nAzure allowed regions are azure-eastus2.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The connectionId of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "location", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "hasCredential": { + "description": "True if the connection has credential assigned.", + "type": "boolean" + }, + "name": { + "description": "The resource name of the connection in the form of:\n\"projects/{project_id}/locations/{location_id}/connections/{connectionId}\".", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/bigquerydatapolicy.cnrm.cloud.google.com/bigquerydatapolicydatapolicy_v1alpha1.json b/bigquerydatapolicy.cnrm.cloud.google.com/bigquerydatapolicydatapolicy_v1alpha1.json new file mode 100644 index 00000000..dab6b782 --- /dev/null +++ b/bigquerydatapolicy.cnrm.cloud.google.com/bigquerydatapolicydatapolicy_v1alpha1.json @@ -0,0 +1,155 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "dataMaskingPolicy": { + "description": "The data masking policy that specifies the data masking rule to use.", + "properties": { + "predefinedExpression": { + "description": "The available masking rules. Learn more here: https://cloud.google.com/bigquery/docs/column-data-masking-intro#masking_options. Possible values: [\"SHA256\", \"ALWAYS_NULL\", \"DEFAULT_MASKING_VALUE\", \"LAST_FOUR_CHARACTERS\", \"FIRST_FOUR_CHARACTERS\", \"EMAIL_MASK\", \"DATE_YEAR_MASK\"].", + "type": "string" + } + }, + "required": [ + "predefinedExpression" + ], + "type": "object", + "additionalProperties": false + }, + "dataPolicyType": { + "description": "The enrollment level of the service. Possible values: [\"COLUMN_LEVEL_SECURITY_POLICY\", \"DATA_MASKING_POLICY\"].", + "type": "string" + }, + "location": { + "description": "Immutable. The name of the location of the data policy.", + "type": "string" + }, + "policyTag": { + "description": "Policy tag resource name, in the format of projects/{project_number}/locations/{locationId}/taxonomies/{taxonomyId}/policyTags/{policyTag_id}.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The dataPolicyId of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "dataPolicyType", + "location", + "policyTag", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "Resource name of this data policy, in the format of projects/{project_number}/locations/{locationId}/dataPolicies/{dataPolicyId}.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/bigquerydatatransfer.cnrm.cloud.google.com/bigquerydatatransferconfig_v1alpha1.json b/bigquerydatatransfer.cnrm.cloud.google.com/bigquerydatatransferconfig_v1alpha1.json new file mode 100644 index 00000000..924261c6 --- /dev/null +++ b/bigquerydatatransfer.cnrm.cloud.google.com/bigquerydatatransferconfig_v1alpha1.json @@ -0,0 +1,273 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "dataRefreshWindowDays": { + "description": "The number of days to look back to automatically refresh the data.\nFor example, if dataRefreshWindowDays = 10, then every day BigQuery\nreingests data for [today-10, today-1], rather than ingesting data for\njust [today-1]. Only valid if the data source supports the feature.\nSet the value to 0 to use the default value.", + "type": "integer" + }, + "dataSourceId": { + "description": "Immutable. The data source id. Cannot be changed once the transfer config is created.", + "type": "string" + }, + "destinationDatasetId": { + "description": "The BigQuery target dataset id.", + "type": "string" + }, + "disabled": { + "description": "When set to true, no runs are scheduled for a given transfer.", + "type": "boolean" + }, + "displayName": { + "description": "The user specified display name for the transfer config.", + "type": "string" + }, + "emailPreferences": { + "description": "Email notifications will be sent according to these preferences to the\nemail address of the user who owns this transfer config.", + "properties": { + "enableFailureEmail": { + "description": "If true, email notifications will be sent on transfer run failures.", + "type": "boolean" + } + }, + "required": [ + "enableFailureEmail" + ], + "type": "object", + "additionalProperties": false + }, + "location": { + "description": "Immutable. The geographic location where the transfer config should reside.\nExamples: US, EU, asia-northeast1. The default value is US.", + "type": "string" + }, + "notificationPubsubTopic": { + "description": "Pub/Sub topic where notifications will be sent after transfer runs\nassociated with this transfer config finish.", + "type": "string" + }, + "params": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + }, + "schedule": { + "description": "Data transfer schedule. If the data source does not support a custom\nschedule, this should be empty. If it is empty, the default value for\nthe data source will be used. The specified times are in UTC. Examples\nof valid format: 1st,3rd monday of month 15:30, every wed,fri of jan,\njun 13:15, and first sunday of quarter 00:00. See more explanation\nabout the format here:\nhttps://cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-cron-yaml#the_schedule_format\nNOTE: the granularity should be at least 8 hours, or less frequent.", + "type": "string" + }, + "scheduleOptions": { + "description": "Options customizing the data transfer schedule.", + "properties": { + "disableAutoScheduling": { + "description": "If true, automatic scheduling of data transfer runs for this\nconfiguration will be disabled. The runs can be started on ad-hoc\nbasis using transferConfigs.startManualRuns API. When automatic\nscheduling is disabled, the TransferConfig.schedule field will\nbe ignored.", + "type": "boolean" + }, + "endTime": { + "description": "Defines time to stop scheduling transfer runs. A transfer run cannot be\nscheduled at or after the end time. The end time can be changed at any\nmoment. The time when a data transfer can be triggered manually is not\nlimited by this option.", + "type": "string" + }, + "startTime": { + "description": "Specifies time to start scheduling transfer runs. The first run will be\nscheduled at or after the start time according to a recurrence pattern\ndefined in the schedule string. The start time can be changed at any\nmoment. The time when a data transfer can be triggered manually is not\nlimited by this option.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "sensitiveParams": { + "description": "Different parameters are configured primarily using the the 'params' field on this\nresource. This block contains the parameters which contain secrets or passwords so that they can be marked\nsensitive and hidden from plan output. The name of the field, eg: secret_access_key, will be the key\nin the 'params' map in the api request.\n\nCredentials may not be specified in both locations and will cause an error. Changing from one location\nto a different credential configuration in the config will require an apply to update state.", + "properties": { + "secretAccessKey": { + "description": "The Secret Access Key of the AWS account transferring data from.", + "oneOf": [ + { + "not": { + "required": [ + "valueFrom" + ] + }, + "required": [ + "value" + ] + }, + { + "not": { + "required": [ + "value" + ] + }, + "required": [ + "valueFrom" + ] + } + ], + "properties": { + "value": { + "description": "Value of the field. Cannot be used if 'valueFrom' is specified.", + "type": "string" + }, + "valueFrom": { + "description": "Source for the field's value. Cannot be used if 'value' is specified.", + "properties": { + "secretKeyRef": { + "description": "Reference to a value with the given key in the given Secret in the resource's namespace.", + "properties": { + "key": { + "description": "Key that identifies the value to be extracted.", + "type": "string" + }, + "name": { + "description": "Name of the Secret to extract a value from.", + "type": "string" + } + }, + "required": [ + "name", + "key" + ], + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "secretAccessKey" + ], + "type": "object", + "additionalProperties": false + }, + "serviceAccountName": { + "description": "Service account email. If this field is set, transfer config will\nbe created with this service account credentials. It requires that\nrequesting user calling this API has permissions to act as this service account.", + "type": "string" + } + }, + "required": [ + "dataSourceId", + "displayName", + "params", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The resource name of the transfer config. Transfer config names have the\nform projects/{projectId}/locations/{location}/transferConfigs/{configId}\nor projects/{projectId}/transferConfigs/{configId},\nwhere configId is usually a uuid, but this is not required.\nThe name is ignored when creating a transfer config.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/bigqueryreservation.cnrm.cloud.google.com/bigqueryreservationcapacitycommitment_v1alpha1.json b/bigqueryreservation.cnrm.cloud.google.com/bigqueryreservationcapacitycommitment_v1alpha1.json new file mode 100644 index 00000000..24265c3b --- /dev/null +++ b/bigqueryreservation.cnrm.cloud.google.com/bigqueryreservationcapacitycommitment_v1alpha1.json @@ -0,0 +1,165 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "edition": { + "description": "Immutable. The edition type. Valid values are STANDARD, ENTERPRISE, ENTERPRISE_PLUS.", + "type": "string" + }, + "enforceSingleAdminProjectPerOrg": { + "description": "Immutable. If true, fail the request if another project in the organization has a capacity commitment.", + "type": "string" + }, + "location": { + "description": "Immutable. The geographic location where the transfer config should reside.\nExamples: US, EU, asia-northeast1. The default value is US.", + "type": "string" + }, + "plan": { + "description": "Capacity commitment plan. Valid values are at https://cloud.google.com/bigquery/docs/reference/reservations/rpc/google.cloud.bigquery.reservation.v1#commitmentplan.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "renewalPlan": { + "description": "The plan this capacity commitment is converted to after commitmentEndTime passes. Once the plan is changed, committed period is extended according to commitment plan. Only applicable some commitment plans.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The capacityCommitmentId of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "slotCount": { + "description": "Immutable. Number of slots in this commitment.", + "type": "integer" + } + }, + "required": [ + "location", + "plan", + "projectRef", + "slotCount" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "commitmentEndTime": { + "description": "The start of the current commitment period. It is applicable only for ACTIVE capacity commitments.", + "type": "string" + }, + "commitmentStartTime": { + "description": "The start of the current commitment period. It is applicable only for ACTIVE capacity commitments.", + "type": "string" + }, + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The resource name of the capacity commitment, e.g., projects/myproject/locations/US/capacityCommitments/123.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "state": { + "description": "State of the commitment.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/bigqueryreservation.cnrm.cloud.google.com/bigqueryreservationreservation_v1alpha1.json b/bigqueryreservation.cnrm.cloud.google.com/bigqueryreservationreservation_v1alpha1.json new file mode 100644 index 00000000..91430269 --- /dev/null +++ b/bigqueryreservation.cnrm.cloud.google.com/bigqueryreservationreservation_v1alpha1.json @@ -0,0 +1,163 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "autoscale": { + "description": "The configuration parameters for the auto scaling feature.", + "properties": { + "currentSlots": { + "description": "The slot capacity added to this reservation when autoscale happens. Will be between [0, max_slots].", + "type": "integer" + }, + "maxSlots": { + "description": "Number of slots to be scaled when needed.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + }, + "concurrency": { + "description": "Maximum number of queries that are allowed to run concurrently in this reservation. This is a soft limit due to asynchronous nature of the system and various optimizations for small queries. Default value is 0 which means that concurrency will be automatically set based on the reservation size.", + "type": "integer" + }, + "edition": { + "description": "Immutable. The edition type. Valid values are STANDARD, ENTERPRISE, ENTERPRISE_PLUS.", + "type": "string" + }, + "ignoreIdleSlots": { + "description": "If false, any query using this reservation will use idle slots from other reservations within\nthe same admin project. If true, a query using this reservation will execute with the slot\ncapacity specified above at most.", + "type": "boolean" + }, + "location": { + "description": "Immutable. The geographic location where the transfer config should reside.\nExamples: US, EU, asia-northeast1. The default value is US.", + "type": "string" + }, + "multiRegionAuxiliary": { + "description": "Applicable only for reservations located within one of the BigQuery multi-regions (US or EU).\nIf set to true, this reservation is placed in the organization's secondary region which is designated for disaster recovery purposes. If false, this reservation is placed in the organization's default region.", + "type": "boolean" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "slotCapacity": { + "description": "Minimum slots available to this reservation. A slot is a unit of computational power in BigQuery, and serves as the\nunit of parallelism. Queries using this reservation might use more slots during runtime if ignoreIdleSlots is set to false.", + "type": "integer" + } + }, + "required": [ + "location", + "projectRef", + "slotCapacity" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/cloudasset.cnrm.cloud.google.com/cloudassetfolderfeed_v1alpha1.json b/cloudasset.cnrm.cloud.google.com/cloudassetfolderfeed_v1alpha1.json new file mode 100644 index 00000000..0f594eb8 --- /dev/null +++ b/cloudasset.cnrm.cloud.google.com/cloudassetfolderfeed_v1alpha1.json @@ -0,0 +1,214 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "assetNames": { + "description": "A list of the full names of the assets to receive updates. You must specify either or both of\nassetNames and assetTypes. Only asset updates matching specified assetNames and assetTypes are\nexported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1.\nSee https://cloud.google.com/apis/design/resourceNames#fullResourceName for more info.", + "items": { + "type": "string" + }, + "type": "array" + }, + "assetTypes": { + "description": "A list of types of the assets to receive updates. You must specify either or both of assetNames\nand assetTypes. Only asset updates matching specified assetNames and assetTypes are exported to\nthe feed. For example: \"compute.googleapis.com/Disk\"\nSee https://cloud.google.com/asset-inventory/docs/supported-asset-types for a list of all\nsupported asset types.", + "items": { + "type": "string" + }, + "type": "array" + }, + "billingProject": { + "description": "Immutable. The project whose identity will be used when sending messages to the\ndestination pubsub topic. It also specifies the project for API\nenablement check, quota, and billing.", + "type": "string" + }, + "condition": { + "description": "A condition which determines whether an asset update should be published. If specified, an asset\nwill be returned only when the expression evaluates to true. When set, expression field\nmust be a valid CEL expression on a TemporalAsset with name temporal_asset. Example: a Feed with\nexpression \"temporal_asset.deleted == true\" will only publish Asset deletions. Other fields of\ncondition are optional.", + "properties": { + "description": { + "description": "Description of the expression. This is a longer text which describes the expression,\ne.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language syntax.", + "type": "string" + }, + "location": { + "description": "String indicating the location of the expression for error reporting, e.g. a file\nname and a position in the file.", + "type": "string" + }, + "title": { + "description": "Title for the expression, i.e. a short string describing its purpose.\nThis can be used e.g. in UIs which allow to enter the expression.", + "type": "string" + } + }, + "required": [ + "expression" + ], + "type": "object", + "additionalProperties": false + }, + "contentType": { + "description": "Asset content type. If not specified, no content but the asset name and type will be returned. Possible values: [\"CONTENT_TYPE_UNSPECIFIED\", \"RESOURCE\", \"IAM_POLICY\", \"ORG_POLICY\", \"OS_INVENTORY\", \"ACCESS_POLICY\"].", + "type": "string" + }, + "feedId": { + "description": "Immutable. This is the client-assigned asset feed identifier and it needs to be unique under a specific parent.", + "type": "string" + }, + "feedOutputConfig": { + "description": "Output configuration for asset feed destination.", + "properties": { + "pubsubDestination": { + "description": "Destination on Cloud Pubsub.", + "properties": { + "topic": { + "description": "Destination on Cloud Pubsub topic.", + "type": "string" + } + }, + "required": [ + "topic" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "pubsubDestination" + ], + "type": "object", + "additionalProperties": false + }, + "folder": { + "description": "Immutable. The folder this feed should be created in.", + "type": "string" + }, + "folderRef": { + "description": "The folder that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Folder` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + } + }, + "required": [ + "billingProject", + "feedId", + "feedOutputConfig", + "folder", + "folderRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "folderId": { + "description": "The ID of the folder where this feed has been created. Both [FOLDER_NUMBER]\nand folders/[FOLDER_NUMBER] are accepted.", + "type": "string" + }, + "name": { + "description": "The format will be folders/{folder_number}/feeds/{client-assigned_feed_identifier}.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/cloudasset.cnrm.cloud.google.com/cloudassetorganizationfeed_v1alpha1.json b/cloudasset.cnrm.cloud.google.com/cloudassetorganizationfeed_v1alpha1.json new file mode 100644 index 00000000..e3980f9e --- /dev/null +++ b/cloudasset.cnrm.cloud.google.com/cloudassetorganizationfeed_v1alpha1.json @@ -0,0 +1,205 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "assetNames": { + "description": "A list of the full names of the assets to receive updates. You must specify either or both of\nassetNames and assetTypes. Only asset updates matching specified assetNames and assetTypes are\nexported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1.\nSee https://cloud.google.com/apis/design/resourceNames#fullResourceName for more info.", + "items": { + "type": "string" + }, + "type": "array" + }, + "assetTypes": { + "description": "A list of types of the assets to receive updates. You must specify either or both of assetNames\nand assetTypes. Only asset updates matching specified assetNames and assetTypes are exported to\nthe feed. For example: \"compute.googleapis.com/Disk\"\nSee https://cloud.google.com/asset-inventory/docs/supported-asset-types for a list of all\nsupported asset types.", + "items": { + "type": "string" + }, + "type": "array" + }, + "billingProject": { + "description": "Immutable. The project whose identity will be used when sending messages to the\ndestination pubsub topic. It also specifies the project for API\nenablement check, quota, and billing.", + "type": "string" + }, + "condition": { + "description": "A condition which determines whether an asset update should be published. If specified, an asset\nwill be returned only when the expression evaluates to true. When set, expression field\nmust be a valid CEL expression on a TemporalAsset with name temporal_asset. Example: a Feed with\nexpression \"temporal_asset.deleted == true\" will only publish Asset deletions. Other fields of\ncondition are optional.", + "properties": { + "description": { + "description": "Description of the expression. This is a longer text which describes the expression,\ne.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language syntax.", + "type": "string" + }, + "location": { + "description": "String indicating the location of the expression for error reporting, e.g. a file\nname and a position in the file.", + "type": "string" + }, + "title": { + "description": "Title for the expression, i.e. a short string describing its purpose.\nThis can be used e.g. in UIs which allow to enter the expression.", + "type": "string" + } + }, + "required": [ + "expression" + ], + "type": "object", + "additionalProperties": false + }, + "contentType": { + "description": "Asset content type. If not specified, no content but the asset name and type will be returned. Possible values: [\"CONTENT_TYPE_UNSPECIFIED\", \"RESOURCE\", \"IAM_POLICY\", \"ORG_POLICY\", \"OS_INVENTORY\", \"ACCESS_POLICY\"].", + "type": "string" + }, + "feedId": { + "description": "Immutable. This is the client-assigned asset feed identifier and it needs to be unique under a specific parent.", + "type": "string" + }, + "feedOutputConfig": { + "description": "Output configuration for asset feed destination.", + "properties": { + "pubsubDestination": { + "description": "Destination on Cloud Pubsub.", + "properties": { + "topic": { + "description": "Destination on Cloud Pubsub topic.", + "type": "string" + } + }, + "required": [ + "topic" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "pubsubDestination" + ], + "type": "object", + "additionalProperties": false + }, + "organizationRef": { + "description": "The organization that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of an `Organization` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + } + }, + "required": [ + "billingProject", + "feedId", + "feedOutputConfig", + "organizationRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The format will be organizations/{organization_number}/feeds/{client-assigned_feed_identifier}.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/cloudasset.cnrm.cloud.google.com/cloudassetprojectfeed_v1alpha1.json b/cloudasset.cnrm.cloud.google.com/cloudassetprojectfeed_v1alpha1.json new file mode 100644 index 00000000..d628b918 --- /dev/null +++ b/cloudasset.cnrm.cloud.google.com/cloudassetprojectfeed_v1alpha1.json @@ -0,0 +1,204 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "assetNames": { + "description": "A list of the full names of the assets to receive updates. You must specify either or both of\nassetNames and assetTypes. Only asset updates matching specified assetNames and assetTypes are\nexported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1.\nSee https://cloud.google.com/apis/design/resourceNames#fullResourceName for more info.", + "items": { + "type": "string" + }, + "type": "array" + }, + "assetTypes": { + "description": "A list of types of the assets to receive updates. You must specify either or both of assetNames\nand assetTypes. Only asset updates matching specified assetNames and assetTypes are exported to\nthe feed. For example: \"compute.googleapis.com/Disk\"\nSee https://cloud.google.com/asset-inventory/docs/supported-asset-types for a list of all\nsupported asset types.", + "items": { + "type": "string" + }, + "type": "array" + }, + "billingProject": { + "description": "Immutable. The project whose identity will be used when sending messages to the\ndestination pubsub topic. It also specifies the project for API\nenablement check, quota, and billing. If not specified, the resource's\nproject will be used.", + "type": "string" + }, + "condition": { + "description": "A condition which determines whether an asset update should be published. If specified, an asset\nwill be returned only when the expression evaluates to true. When set, expression field\nmust be a valid CEL expression on a TemporalAsset with name temporal_asset. Example: a Feed with\nexpression \"temporal_asset.deleted == true\" will only publish Asset deletions. Other fields of\ncondition are optional.", + "properties": { + "description": { + "description": "Description of the expression. This is a longer text which describes the expression,\ne.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language syntax.", + "type": "string" + }, + "location": { + "description": "String indicating the location of the expression for error reporting, e.g. a file\nname and a position in the file.", + "type": "string" + }, + "title": { + "description": "Title for the expression, i.e. a short string describing its purpose.\nThis can be used e.g. in UIs which allow to enter the expression.", + "type": "string" + } + }, + "required": [ + "expression" + ], + "type": "object", + "additionalProperties": false + }, + "contentType": { + "description": "Asset content type. If not specified, no content but the asset name and type will be returned. Possible values: [\"CONTENT_TYPE_UNSPECIFIED\", \"RESOURCE\", \"IAM_POLICY\", \"ORG_POLICY\", \"OS_INVENTORY\", \"ACCESS_POLICY\"].", + "type": "string" + }, + "feedId": { + "description": "Immutable. This is the client-assigned asset feed identifier and it needs to be unique under a specific parent.", + "type": "string" + }, + "feedOutputConfig": { + "description": "Output configuration for asset feed destination.", + "properties": { + "pubsubDestination": { + "description": "Destination on Cloud Pubsub.", + "properties": { + "topic": { + "description": "Destination on Cloud Pubsub topic.", + "type": "string" + } + }, + "required": [ + "topic" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "pubsubDestination" + ], + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + } + }, + "required": [ + "feedId", + "feedOutputConfig", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The format will be projects/{projectNumber}/feeds/{client-assigned_feed_identifier}.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/cloudbuild.cnrm.cloud.google.com/cloudbuildworkerpool_v1beta1.json b/cloudbuild.cnrm.cloud.google.com/cloudbuildworkerpool_v1beta1.json new file mode 100644 index 00000000..3e30383e --- /dev/null +++ b/cloudbuild.cnrm.cloud.google.com/cloudbuildworkerpool_v1beta1.json @@ -0,0 +1,290 @@ +{ + "description": "CloudBuildWorkerPool is the Schema for the CloudBuild WorkerPool API", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. 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": "CloudBuildWorkerPoolSpec defines the desired state of Instance", + "properties": { + "displayName": { + "description": "A user-specified, human-readable name for the `WorkerPool`. If provided, this value must be 1-63 characters.", + "type": "string" + }, + "location": { + "type": "string" + }, + "privatePoolV1Config": { + "description": "Legacy Private Pool configuration.", + "properties": { + "networkConfig": { + "description": "Network configuration for the pool.", + "properties": { + "egressOption": { + "description": "Option to configure network egress for the workers.", + "type": "string" + }, + "peeredNetworkIPRange": { + "description": "Immutable. Subnet IP range within the peered network. This is specified in CIDR notation with a slash and the subnet prefix size. You can optionally specify an IP address before the subnet prefix value. e.g. `192.168.0.0/29` would specify an IP range starting at 192.168.0.0 with a prefix size of 29 bits. `/16` would specify a prefix size of 16 bits, with an automatically determined IP within the peered VPC. If unspecified, a value of `/24` will be used.", + "type": "string" + }, + "peeredNetworkRef": { + "description": "Immutable. The network definition that the workers are peered to. If this section is left empty, the workers will be peered to `WorkerPool.project_id` on the service producer network.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "The compute network selflink of form \"projects//global/networks/\", when not managed by KCC.", + "type": "string" + }, + "name": { + "description": "The `name` field of a `ComputeNetwork` resource.", + "type": "string" + }, + "namespace": { + "description": "The `namespace` field of a `ComputeNetwork` resource.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "workerConfig": { + "description": "Machine configuration for the workers in the pool.", + "properties": { + "diskSizeGb": { + "description": "Size of the disk attached to the worker, in GB. See [Worker pool config file](https://cloud.google.com/build/docs/private-pools/worker-pool-config-file-schema). Specify a value of up to 2000. If `0` is specified, Cloud Build will use a standard disk size.", + "format": "int64", + "type": "integer" + }, + "machineType": { + "description": "Machine type of a worker, such as `e2-medium`. See [Worker pool config file](https://cloud.google.com/build/docs/private-pools/worker-pool-config-file-schema). If left blank, Cloud Build will use a sensible default.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "workerConfig" + ], + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The Project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "The `projectID` field of a project, when not managed by KCC.", + "type": "string" + }, + "kind": { + "description": "The kind of the Project resource; optional but must be `Project` if provided.", + "type": "string" + }, + "name": { + "description": "The `name` field of a `Project` resource.", + "type": "string" + }, + "namespace": { + "description": "The `namespace` field of a `Project` resource.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "The `WorkerPool` name. If not given, the metadata.name will be used.", + "type": "string" + } + }, + "required": [ + "location", + "privatePoolV1Config", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "description": "CloudBuildWorkerPoolStatus defines the observed state of Instance", + "properties": { + "conditions": { + "description": "Conditions represent the latest available observations of the object's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "externalRef": { + "description": "A unique specifier for the CloudBuild workerpool resource in GCP.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "format": "int64", + "type": "integer" + }, + "observedState": { + "description": "ObservedState is the state of the resource as most recently observed in GCP.", + "properties": { + "createTime": { + "description": "The creation timestamp of the workerpool.", + "format": "date-time", + "type": "string" + }, + "etag": { + "description": "The Checksum computed by the server, using weak indicator.", + "type": "string" + }, + "networkConfig": { + "description": "Network configuration for the pool.", + "properties": { + "egressOption": { + "description": "Option to configure network egress for the workers.", + "type": "string" + }, + "peeredNetwork": { + "description": "Immutable. The network definition that the workers are peered to. If this section is left empty, the workers will be peered to `WorkerPool.project_id` on the service producer network.", + "type": "string" + }, + "peeredNetworkIPRange": { + "description": "Immutable. Subnet IP range within the peered network. This is specified in CIDR notation with a slash and the subnet prefix size. You can optionally specify an IP address before the subnet prefix value. e.g. `192.168.0.0/29` would specify an IP range starting at 192.168.0.0 with a prefix size of 29 bits. `/16` would specify a prefix size of 16 bits, with an automatically determined IP within the peered VPC. If unspecified, a value of `/24` will be used.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "updateTime": { + "description": "The last update timestamp of the workerpool.", + "format": "date-time", + "type": "string" + }, + "workerConfig": { + "description": "Machine configuration for the workers in the pool.", + "properties": { + "diskSizeGb": { + "description": "Size of the disk attached to the worker, in GB. See [Worker pool config file](https://cloud.google.com/build/docs/private-pools/worker-pool-config-file-schema). Specify a value of up to 2000. If `0` is specified, Cloud Build will use a standard disk size.", + "format": "int64", + "type": "integer" + }, + "machineType": { + "description": "Machine type of a worker, such as `e2-medium`. See [Worker pool config file](https://cloud.google.com/build/docs/private-pools/worker-pool-config-file-schema). If left blank, Cloud Build will use a sensible default.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "workerConfig" + ], + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object" +} diff --git a/cloudfunctions2.cnrm.cloud.google.com/cloudfunctions2function_v1alpha1.json b/cloudfunctions2.cnrm.cloud.google.com/cloudfunctions2function_v1alpha1.json new file mode 100644 index 00000000..a2a035d8 --- /dev/null +++ b/cloudfunctions2.cnrm.cloud.google.com/cloudfunctions2function_v1alpha1.json @@ -0,0 +1,454 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "buildConfig": { + "description": "Describes the Build step of the function that builds a container\nfrom the given source.", + "properties": { + "build": { + "description": "The Cloud Build name of the latest successful\ndeployment of the function.", + "type": "string" + }, + "dockerRepository": { + "description": "User managed repository created in Artifact Registry optionally with a customer managed encryption key.", + "type": "string" + }, + "entryPoint": { + "description": "The name of the function (as defined in source code) that will be executed.\nDefaults to the resource name suffix, if not specified. For backward\ncompatibility, if function with given name is not found, then the system\nwill try to use function named \"function\". For Node.js this is name of a\nfunction exported by the module specified in source_location.", + "type": "string" + }, + "environmentVariables": { + "additionalProperties": { + "type": "string" + }, + "description": "User-provided build-time environment variables for the function.", + "type": "object" + }, + "runtime": { + "description": "The runtime in which to run the function. Required when deploying a new\nfunction, optional when updating an existing function.", + "type": "string" + }, + "source": { + "description": "The location of the function source code.", + "properties": { + "repoSource": { + "description": "If provided, get the source from this location in a Cloud Source Repository.", + "properties": { + "branchName": { + "description": "Regex matching branches to build.", + "type": "string" + }, + "commitSha": { + "description": "Regex matching tags to build.", + "type": "string" + }, + "dir": { + "description": "Directory, relative to the source root, in which to run the build.", + "type": "string" + }, + "invertRegex": { + "description": "Only trigger a build if the revision regex does\nNOT match the revision regex.", + "type": "boolean" + }, + "projectId": { + "description": "Immutable. ID of the project that owns the Cloud Source Repository. If omitted, the\nproject ID requesting the build is assumed.", + "type": "string" + }, + "repoName": { + "description": "Name of the Cloud Source Repository.", + "type": "string" + }, + "tagName": { + "description": "Regex matching tags to build.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "storageSource": { + "description": "If provided, get the source from this location in Google Cloud Storage.", + "properties": { + "bucket": { + "description": "Google Cloud Storage bucket containing the source.", + "type": "string" + }, + "generation": { + "description": "Google Cloud Storage generation for the object. If the generation\nis omitted, the latest generation will be used.", + "type": "integer" + }, + "object": { + "description": "Google Cloud Storage object containing the source.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "workerPool": { + "description": "Name of the Cloud Build Custom Worker Pool that should be used to build the function.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "description": { + "description": "User-provided description of a function.", + "type": "string" + }, + "eventTrigger": { + "description": "An Eventarc trigger managed by Google Cloud Functions that fires events in\nresponse to a condition in another service.", + "properties": { + "eventFilters": { + "description": "Criteria used to filter events.", + "items": { + "properties": { + "attribute": { + "description": "'Required. The name of a CloudEvents attribute.\nCurrently, only a subset of attributes are supported for filtering. Use the 'gcloud eventarc providers describe' command to learn more about events and their attributes.\nDo not filter for the 'type' attribute here, as this is already achieved by the resource's 'event_type' attribute.", + "type": "string" + }, + "operator": { + "description": "Optional. The operator used for matching the events with the value of\nthe filter. If not specified, only events that have an exact key-value\npair specified in the filter are matched.\nThe only allowed value is 'match-path-pattern'.\n[See documentation on path patterns here](https://cloud.google.com/eventarc/docs/path-patterns)'.", + "type": "string" + }, + "value": { + "description": "Required. The value for the attribute.\nIf the operator field is set as 'match-path-pattern', this value can be a path pattern instead of an exact value.", + "type": "string" + } + }, + "required": [ + "attribute", + "value" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "eventType": { + "description": "Required. The type of event to observe.", + "type": "string" + }, + "pubsubTopic": { + "description": "The name of a Pub/Sub topic in the same project that will be used\nas the transport topic for the event delivery.", + "type": "string" + }, + "retryPolicy": { + "description": "Describes the retry policy in case of function's execution failure.\nRetried execution is charged as any other execution. Possible values: [\"RETRY_POLICY_UNSPECIFIED\", \"RETRY_POLICY_DO_NOT_RETRY\", \"RETRY_POLICY_RETRY\"].", + "type": "string" + }, + "serviceAccountEmail": { + "description": "The email of the service account for this function.", + "type": "string" + }, + "trigger": { + "description": "Output only. The resource name of the Eventarc trigger.", + "type": "string" + }, + "triggerRegion": { + "description": "The region that the trigger will be in. The trigger will only receive\nevents originating in this region. It can be the same\nregion as the function, a different region or multi-region, or the global\nregion. If not provided, defaults to the same region as the function.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "kmsKeyName": { + "description": "Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt function resources.\nIt must match the pattern projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}.", + "type": "string" + }, + "location": { + "description": "Immutable. The location of this cloud function.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "serviceConfig": { + "description": "Describes the Service being deployed.", + "properties": { + "allTrafficOnLatestRevision": { + "description": "Whether 100% of traffic is routed to the latest revision. Defaults to true.", + "type": "boolean" + }, + "availableCpu": { + "description": "The number of CPUs used in a single container instance. Default value is calculated from available memory.", + "type": "string" + }, + "availableMemory": { + "description": "The amount of memory available for a function.\nDefaults to 256M. Supported units are k, M, G, Mi, Gi. If no unit is\nsupplied the value is interpreted as bytes.", + "type": "string" + }, + "environmentVariables": { + "additionalProperties": { + "type": "string" + }, + "description": "Environment variables that shall be available during function execution.", + "type": "object" + }, + "gcfUri": { + "description": "URIs of the Service deployed.", + "type": "string" + }, + "ingressSettings": { + "description": "Available ingress settings. Defaults to \"ALLOW_ALL\" if unspecified. Default value: \"ALLOW_ALL\" Possible values: [\"ALLOW_ALL\", \"ALLOW_INTERNAL_ONLY\", \"ALLOW_INTERNAL_AND_GCLB\"].", + "type": "string" + }, + "maxInstanceCount": { + "description": "The limit on the maximum number of function instances that may coexist at a\ngiven time.", + "type": "integer" + }, + "maxInstanceRequestConcurrency": { + "description": "Sets the maximum number of concurrent requests that each instance can receive. Defaults to 1.", + "type": "integer" + }, + "minInstanceCount": { + "description": "The limit on the minimum number of function instances that may coexist at a\ngiven time.", + "type": "integer" + }, + "secretEnvironmentVariables": { + "description": "Secret environment variables configuration.", + "items": { + "properties": { + "key": { + "description": "Name of the environment variable.", + "type": "string" + }, + "projectId": { + "description": "Project identifier (preferrably project number but can also be the project ID) of the project that contains the secret. If not set, it will be populated with the function's project assuming that the secret exists in the same project as of the function.", + "type": "string" + }, + "secret": { + "description": "Name of the secret in secret manager (not the full resource name).", + "type": "string" + }, + "version": { + "description": "Version of the secret (version number or the string 'latest'). It is recommended to use a numeric version for secret environment variables as any updates to the secret value is not reflected until new instances start.", + "type": "string" + } + }, + "required": [ + "key", + "projectId", + "secret", + "version" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "secretVolumes": { + "description": "Secret volumes configuration.", + "items": { + "properties": { + "mountPath": { + "description": "The path within the container to mount the secret volume. For example, setting the mountPath as /etc/secrets would mount the secret value files under the /etc/secrets directory. This directory will also be completely shadowed and unavailable to mount any other secrets. Recommended mount path: /etc/secrets.", + "type": "string" + }, + "projectId": { + "description": "Project identifier (preferrably project number but can also be the project ID) of the project that contains the secret. If not set, it will be populated with the function's project assuming that the secret exists in the same project as of the function.", + "type": "string" + }, + "secret": { + "description": "Name of the secret in secret manager (not the full resource name).", + "type": "string" + }, + "versions": { + "description": "List of secret versions to mount for this secret. If empty, the latest version of the secret will be made available in a file named after the secret under the mount point.'.", + "items": { + "properties": { + "path": { + "description": "Relative path of the file under the mount path where the secret value for this version will be fetched and made available. For example, setting the mountPath as '/etc/secrets' and path as secret_foo would mount the secret value file at /etc/secrets/secret_foo.", + "type": "string" + }, + "version": { + "description": "Version of the secret (version number or the string 'latest'). It is preferable to use latest version with secret volumes as secret value changes are reflected immediately.", + "type": "string" + } + }, + "required": [ + "path", + "version" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "mountPath", + "projectId", + "secret" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "service": { + "description": "Name of the service associated with a Function.", + "type": "string" + }, + "serviceAccountEmail": { + "description": "The email of the service account for this function.", + "type": "string" + }, + "timeoutSeconds": { + "description": "The function execution timeout. Execution is considered failed and\ncan be terminated if the function is not completed at the end of the\ntimeout period. Defaults to 60 seconds.", + "type": "integer" + }, + "uri": { + "description": "URI of the Service deployed.", + "type": "string" + }, + "vpcConnector": { + "description": "The Serverless VPC Access connector that this cloud function can connect to.", + "type": "string" + }, + "vpcConnectorEgressSettings": { + "description": "Available egress settings. Possible values: [\"VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED\", \"PRIVATE_RANGES_ONLY\", \"ALL_TRAFFIC\"].", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "location", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "environment": { + "description": "The environment the function is hosted on.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "state": { + "description": "Describes the current state of the function.", + "type": "string" + }, + "updateTime": { + "description": "The last update timestamp of a Cloud Function.", + "type": "string" + }, + "url": { + "description": "Output only. The deployed url for the function.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/cloudids.cnrm.cloud.google.com/cloudidsendpoint_v1alpha1.json b/cloudids.cnrm.cloud.google.com/cloudidsendpoint_v1alpha1.json new file mode 100644 index 00000000..2726b650 --- /dev/null +++ b/cloudids.cnrm.cloud.google.com/cloudidsendpoint_v1alpha1.json @@ -0,0 +1,217 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "description": { + "description": "Immutable. An optional description of the endpoint.", + "type": "string" + }, + "location": { + "description": "Immutable. The location for the endpoint.", + "type": "string" + }, + "networkRef": { + "description": "Immutable. Name of the VPC network that is connected\nto the IDS endpoint. This can either contain the VPC network name\nitself (like \"src-net\") or the full URL to the network (like \"projects/{project_id}/global/networks/src-net\").", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `ComputeNetwork` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "severity": { + "description": "Immutable. The minimum alert severity level that is reported by the endpoint. Possible values: [\"INFORMATIONAL\", \"LOW\", \"MEDIUM\", \"HIGH\", \"CRITICAL\"].", + "type": "string" + }, + "threatExceptions": { + "description": "Configuration for threat IDs excluded from generating alerts. Limit: 99 IDs.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "location", + "networkRef", + "projectRef", + "severity" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "observedState": { + "description": "The observed state of the underlying GCP resource.", + "properties": { + "createTime": { + "description": "Creation timestamp in RFC 3339 text format.", + "type": "string" + }, + "endpointForwardingRule": { + "description": "URL of the endpoint's network address to which traffic is to be sent by Packet Mirroring.", + "type": "string" + }, + "endpointIP": { + "description": "Internal IP address of the endpoint's network entry point.", + "type": "string" + }, + "updateTime": { + "description": "Last update timestamp in RFC 3339 text format.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/cloudids.cnrm.cloud.google.com/cloudidsendpoint_v1beta1.json b/cloudids.cnrm.cloud.google.com/cloudidsendpoint_v1beta1.json new file mode 100644 index 00000000..2726b650 --- /dev/null +++ b/cloudids.cnrm.cloud.google.com/cloudidsendpoint_v1beta1.json @@ -0,0 +1,217 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "description": { + "description": "Immutable. An optional description of the endpoint.", + "type": "string" + }, + "location": { + "description": "Immutable. The location for the endpoint.", + "type": "string" + }, + "networkRef": { + "description": "Immutable. Name of the VPC network that is connected\nto the IDS endpoint. This can either contain the VPC network name\nitself (like \"src-net\") or the full URL to the network (like \"projects/{project_id}/global/networks/src-net\").", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `ComputeNetwork` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "severity": { + "description": "Immutable. The minimum alert severity level that is reported by the endpoint. Possible values: [\"INFORMATIONAL\", \"LOW\", \"MEDIUM\", \"HIGH\", \"CRITICAL\"].", + "type": "string" + }, + "threatExceptions": { + "description": "Configuration for threat IDs excluded from generating alerts. Limit: 99 IDs.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "location", + "networkRef", + "projectRef", + "severity" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "observedState": { + "description": "The observed state of the underlying GCP resource.", + "properties": { + "createTime": { + "description": "Creation timestamp in RFC 3339 text format.", + "type": "string" + }, + "endpointForwardingRule": { + "description": "URL of the endpoint's network address to which traffic is to be sent by Packet Mirroring.", + "type": "string" + }, + "endpointIP": { + "description": "Internal IP address of the endpoint's network entry point.", + "type": "string" + }, + "updateTime": { + "description": "Last update timestamp in RFC 3339 text format.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/cloudiot.cnrm.cloud.google.com/cloudiotdevice_v1alpha1.json b/cloudiot.cnrm.cloud.google.com/cloudiotdevice_v1alpha1.json new file mode 100644 index 00000000..b396e0a3 --- /dev/null +++ b/cloudiot.cnrm.cloud.google.com/cloudiotdevice_v1alpha1.json @@ -0,0 +1,248 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "blocked": { + "description": "If a device is blocked, connections or requests from this device will fail.", + "type": "boolean" + }, + "credentials": { + "description": "The credentials used to authenticate this device.", + "items": { + "properties": { + "expirationTime": { + "description": "The time at which this credential becomes invalid.", + "type": "string" + }, + "publicKey": { + "description": "A public key used to verify the signature of JSON Web Tokens (JWTs).", + "properties": { + "format": { + "description": "The format of the key. Possible values: [\"RSA_PEM\", \"RSA_X509_PEM\", \"ES256_PEM\", \"ES256_X509_PEM\"].", + "type": "string" + }, + "key": { + "description": "The key data.", + "type": "string" + } + }, + "required": [ + "format", + "key" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "publicKey" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "gatewayConfig": { + "description": "Gateway-related configuration and state.", + "properties": { + "gatewayAuthMethod": { + "description": "Indicates whether the device is a gateway. Possible values: [\"ASSOCIATION_ONLY\", \"DEVICE_AUTH_TOKEN_ONLY\", \"ASSOCIATION_AND_DEVICE_AUTH_TOKEN\"].", + "type": "string" + }, + "gatewayType": { + "description": "Immutable. Indicates whether the device is a gateway. Default value: \"NON_GATEWAY\" Possible values: [\"GATEWAY\", \"NON_GATEWAY\"].", + "type": "string" + }, + "lastAccessedGatewayId": { + "description": "The ID of the gateway the device accessed most recently.", + "type": "string" + }, + "lastAccessedGatewayTime": { + "description": "The most recent time at which the device accessed the gateway specified in last_accessed_gateway.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "logLevel": { + "description": "The logging verbosity for device activity. Possible values: [\"NONE\", \"ERROR\", \"INFO\", \"DEBUG\"].", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "The metadata key-value pairs assigned to the device.", + "type": "object" + }, + "registry": { + "description": "Immutable. The name of the device registry where this device should be created.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "registry" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "config": { + "description": "The most recent device configuration, which is eventually sent from Cloud IoT Core to the device.", + "items": { + "properties": { + "binaryData": { + "description": "The device configuration data.", + "type": "string" + }, + "cloudUpdateTime": { + "description": "The time at which this configuration version was updated in Cloud IoT Core.", + "type": "string" + }, + "deviceAckTime": { + "description": "The time at which Cloud IoT Core received the acknowledgment from the device,\nindicating that the device has received this configuration version.", + "type": "string" + }, + "version": { + "description": "The version of this update.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "lastConfigAckTime": { + "description": "The last time a cloud-to-device config version acknowledgment was received from the device.", + "type": "string" + }, + "lastConfigSendTime": { + "description": "The last time a cloud-to-device config version was sent to the device.", + "type": "string" + }, + "lastErrorStatus": { + "description": "The error message of the most recent error, such as a failure to publish to Cloud Pub/Sub.", + "items": { + "properties": { + "details": { + "description": "A list of messages that carry the error details.", + "items": { + "type": "object", + "x-kubernetes-preserve-unknown-fields": true + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English.", + "type": "string" + }, + "number": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "lastErrorTime": { + "description": "The time the most recent error occurred, such as a failure to publish to Cloud Pub/Sub.", + "type": "string" + }, + "lastEventTime": { + "description": "The last time a telemetry event was received.", + "type": "string" + }, + "lastHeartbeatTime": { + "description": "The last time an MQTT PINGREQ was received.", + "type": "string" + }, + "lastStateTime": { + "description": "The last time a state event was received.", + "type": "string" + }, + "numId": { + "description": "A server-defined unique numeric ID for the device.\nThis is a more compact way to identify devices, and it is globally unique.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "state": { + "description": "The state most recently received from the device.", + "items": { + "properties": { + "binaryData": { + "description": "The device state data.", + "type": "string" + }, + "updateTime": { + "description": "The time at which this state version was updated in Cloud IoT Core.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/cloudiot.cnrm.cloud.google.com/cloudiotdeviceregistry_v1alpha1.json b/cloudiot.cnrm.cloud.google.com/cloudiotdeviceregistry_v1alpha1.json new file mode 100644 index 00000000..ab2706ba --- /dev/null +++ b/cloudiot.cnrm.cloud.google.com/cloudiotdeviceregistry_v1alpha1.json @@ -0,0 +1,138 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "credentials": { + "description": "List of public key certificates to authenticate devices.", + "items": { + "properties": { + "publicKeyCertificate": { + "description": "A public key certificate format and data.", + "type": "object", + "x-kubernetes-preserve-unknown-fields": true + } + }, + "required": [ + "publicKeyCertificate" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "eventNotificationConfigs": { + "description": "List of configurations for event notifications, such as PubSub topics\nto publish device events to.", + "items": { + "properties": { + "pubsubTopicName": { + "description": "PubSub topic name to publish device events.", + "type": "string" + }, + "subfolderMatches": { + "description": "If the subfolder name matches this string exactly, this\nconfiguration will be used. The string must not include the\nleading '/' character. If empty, all strings are matched. Empty\nvalue can only be used for the last 'event_notification_configs'\nitem.", + "type": "string" + } + }, + "required": [ + "pubsubTopicName" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "httpConfig": { + "description": "Activate or deactivate HTTP.", + "type": "object", + "x-kubernetes-preserve-unknown-fields": true + }, + "logLevel": { + "description": "The default logging verbosity for activity from devices in this\nregistry. Specifies which events should be written to logs. For\nexample, if the LogLevel is ERROR, only events that terminate in\nerrors will be logged. LogLevel is inclusive; enabling INFO logging\nwill also enable ERROR logging. Default value: \"NONE\" Possible values: [\"NONE\", \"ERROR\", \"INFO\", \"DEBUG\"].", + "type": "string" + }, + "mqttConfig": { + "description": "Activate or deactivate MQTT.", + "type": "object", + "x-kubernetes-preserve-unknown-fields": true + }, + "project": { + "description": "Immutable.", + "type": "string" + }, + "region": { + "description": "Immutable. The region in which the created registry should reside.\nIf it is not provided, the provider region is used.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "stateNotificationConfig": { + "description": "A PubSub topic to publish device state updates.", + "type": "object", + "x-kubernetes-preserve-unknown-fields": true + } + }, + "required": [ + "region" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/cloudtasks.cnrm.cloud.google.com/cloudtasksqueue_v1alpha1.json b/cloudtasks.cnrm.cloud.google.com/cloudtasksqueue_v1alpha1.json new file mode 100644 index 00000000..fed2d8a8 --- /dev/null +++ b/cloudtasks.cnrm.cloud.google.com/cloudtasksqueue_v1alpha1.json @@ -0,0 +1,210 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "appEngineRoutingOverride": { + "description": "Overrides for task-level appEngineRouting. These settings apply only\nto App Engine tasks in this queue.", + "properties": { + "host": { + "description": "The host that the task is sent to.", + "type": "string" + }, + "instance": { + "description": "App instance.\n\nBy default, the task is sent to an instance which is available when the task is attempted.", + "type": "string" + }, + "service": { + "description": "App service.\n\nBy default, the task is sent to the service which is the default service when the task is attempted.", + "type": "string" + }, + "version": { + "description": "App version.\n\nBy default, the task is sent to the version which is the default version when the task is attempted.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "location": { + "description": "Immutable. The location of the queue.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "rateLimits": { + "description": "Rate limits for task dispatches.\n\nThe queue's actual dispatch rate is the result of:\n\n* Number of tasks in the queue\n* User-specified throttling: rateLimits, retryConfig, and the queue's state.\n* System throttling due to 429 (Too Many Requests) or 503 (Service\n Unavailable) responses from the worker, high error rates, or to\n smooth sudden large traffic spikes.", + "properties": { + "maxBurstSize": { + "description": "The max burst size.\n\nMax burst size limits how fast tasks in queue are processed when many tasks are\nin the queue and the rate is high. This field allows the queue to have a high\nrate so processing starts shortly after a task is enqueued, but still limits\nresource usage when many tasks are enqueued in a short period of time.", + "type": "integer" + }, + "maxConcurrentDispatches": { + "description": "The maximum number of concurrent tasks that Cloud Tasks allows to\nbe dispatched for this queue. After this threshold has been\nreached, Cloud Tasks stops dispatching tasks until the number of\nconcurrent requests decreases.", + "type": "integer" + }, + "maxDispatchesPerSecond": { + "description": "The maximum rate at which tasks are dispatched from this queue.\n\nIf unspecified when the queue is created, Cloud Tasks will pick the default.", + "type": "number" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "retryConfig": { + "description": "Settings that determine the retry behavior.", + "properties": { + "maxAttempts": { + "description": "Number of attempts per task.\n\nCloud Tasks will attempt the task maxAttempts times (that is, if\nthe first attempt fails, then there will be maxAttempts - 1\nretries). Must be >= -1.\n\nIf unspecified when the queue is created, Cloud Tasks will pick\nthe default.\n\n-1 indicates unlimited attempts.", + "type": "integer" + }, + "maxBackoff": { + "description": "A task will be scheduled for retry between minBackoff and\nmaxBackoff duration after it fails, if the queue's RetryConfig\nspecifies that the task should be retried.", + "type": "string" + }, + "maxDoublings": { + "description": "The time between retries will double maxDoublings times.\n\nA task's retry interval starts at minBackoff, then doubles maxDoublings times,\nthen increases linearly, and finally retries retries at intervals of maxBackoff\nup to maxAttempts times.", + "type": "integer" + }, + "maxRetryDuration": { + "description": "If positive, maxRetryDuration specifies the time limit for\nretrying a failed task, measured from when the task was first\nattempted. Once maxRetryDuration time has passed and the task has\nbeen attempted maxAttempts times, no further attempts will be\nmade and the task will be deleted.\n\nIf zero, then the task age is unlimited.", + "type": "string" + }, + "minBackoff": { + "description": "A task will be scheduled for retry between minBackoff and\nmaxBackoff duration after it fails, if the queue's RetryConfig\nspecifies that the task should be retried.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "stackdriverLoggingConfig": { + "description": "Configuration options for writing logs to Stackdriver Logging.", + "properties": { + "samplingRatio": { + "description": "Specifies the fraction of operations to write to Stackdriver Logging.\nThis field may contain any value between 0.0 and 1.0, inclusive. 0.0 is the\ndefault and means that no operations are logged.", + "type": "number" + } + }, + "required": [ + "samplingRatio" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "location", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/compute.cnrm.cloud.google.com/computeautoscaler_v1alpha1.json b/compute.cnrm.cloud.google.com/computeautoscaler_v1alpha1.json new file mode 100644 index 00000000..6efe1dd0 --- /dev/null +++ b/compute.cnrm.cloud.google.com/computeautoscaler_v1alpha1.json @@ -0,0 +1,376 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "autoscalingPolicy": { + "description": "The configuration parameters for the autoscaling algorithm. You can\ndefine one or more of the policies for an autoscaler: cpuUtilization,\ncustomMetricUtilizations, and loadBalancingUtilization.\n\nIf none of these are specified, the default will be to autoscale based\non cpuUtilization to 0.6 or 60%.", + "properties": { + "cooldownPeriod": { + "description": "The number of seconds that the autoscaler should wait before it\nstarts collecting information from a new instance. This prevents\nthe autoscaler from collecting information when the instance is\ninitializing, during which the collected usage would not be\nreliable. The default time autoscaler waits is 60 seconds.\n\nVirtual machine initialization times might vary because of\nnumerous factors. We recommend that you test how long an\ninstance may take to initialize. To do this, create an instance\nand time the startup process.", + "type": "integer" + }, + "cpuUtilization": { + "description": "Defines the CPU utilization policy that allows the autoscaler to\nscale based on the average CPU utilization of a managed instance\ngroup.", + "properties": { + "predictiveMethod": { + "description": "Indicates whether predictive autoscaling based on CPU metric is enabled. Valid values are:\n\n- NONE (default). No predictive method is used. The autoscaler scales the group to meet current demand based on real-time metrics.\n\n- OPTIMIZE_AVAILABILITY. Predictive autoscaling improves availability by monitoring daily and weekly load patterns and scaling out ahead of anticipated demand.", + "type": "string" + }, + "target": { + "description": "The target CPU utilization that the autoscaler should maintain.\nMust be a float value in the range (0, 1]. If not specified, the\ndefault is 0.6.\n\nIf the CPU level is below the target utilization, the autoscaler\nscales down the number of instances until it reaches the minimum\nnumber of instances you specified or until the average CPU of\nyour instances reaches the target utilization.\n\nIf the average CPU is above the target utilization, the autoscaler\nscales up until it reaches the maximum number of instances you\nspecified or until the average utilization reaches the target\nutilization.", + "type": "number" + } + }, + "required": [ + "target" + ], + "type": "object", + "additionalProperties": false + }, + "loadBalancingUtilization": { + "description": "Configuration parameters of autoscaling based on a load balancer.", + "properties": { + "target": { + "description": "Fraction of backend capacity utilization (set in HTTP(s) load\nbalancing configuration) that autoscaler should maintain. Must\nbe a positive float value. If not defined, the default is 0.8.", + "type": "number" + } + }, + "required": [ + "target" + ], + "type": "object", + "additionalProperties": false + }, + "maxReplicas": { + "description": "The maximum number of instances that the autoscaler can scale up\nto. This is required when creating or updating an autoscaler. The\nmaximum number of replicas should not be lower than minimal number\nof replicas.", + "type": "integer" + }, + "metric": { + "description": "Configuration parameters of autoscaling based on a custom metric.", + "items": { + "properties": { + "filter": { + "description": "A filter string to be used as the filter string for\na Stackdriver Monitoring TimeSeries.list API call.\nThis filter is used to select a specific TimeSeries for\nthe purpose of autoscaling and to determine whether the metric\nis exporting per-instance or per-group data.\n\nYou can only use the AND operator for joining selectors.\nYou can only use direct equality comparison operator (=) without\nany functions for each selector.\nYou can specify the metric in both the filter string and in the\nmetric field. However, if specified in both places, the metric must\nbe identical.\n\nThe monitored resource type determines what kind of values are\nexpected for the metric. If it is a gce_instance, the autoscaler\nexpects the metric to include a separate TimeSeries for each\ninstance in a group. In such a case, you cannot filter on resource\nlabels.\n\nIf the resource type is any other value, the autoscaler expects\nthis metric to contain values that apply to the entire autoscaled\ninstance group and resource label filtering can be performed to\npoint autoscaler at the correct TimeSeries to scale upon.\nThis is called a per-group metric for the purpose of autoscaling.\n\nIf not specified, the type defaults to gce_instance.\n\nYou should provide a filter that is selective enough to pick just\none TimeSeries for the autoscaled group or for each of the instances\n(if you are using gce_instance resource type). If multiple\nTimeSeries are returned upon the query execution, the autoscaler\nwill sum their respective values to obtain its scaling value.", + "type": "string" + }, + "name": { + "description": "The identifier (type) of the Stackdriver Monitoring metric.\nThe metric cannot have negative values.\n\nThe metric must have a value type of INT64 or DOUBLE.", + "type": "string" + }, + "singleInstanceAssignment": { + "description": "If scaling is based on a per-group metric value that represents the\ntotal amount of work to be done or resource usage, set this value to\nan amount assigned for a single instance of the scaled group.\nThe autoscaler will keep the number of instances proportional to the\nvalue of this metric, the metric itself should not change value due\nto group resizing.\n\nFor example, a good metric to use with the target is\n'pubsub.googleapis.com/subscription/num_undelivered_messages'\nor a custom metric exporting the total number of requests coming to\nyour instances.\n\nA bad example would be a metric exporting an average or median\nlatency, since this value can't include a chunk assignable to a\nsingle instance, it could be better used with utilization_target\ninstead.", + "type": "number" + }, + "target": { + "description": "The target value of the metric that autoscaler should\nmaintain. This must be a positive value. A utilization\nmetric scales number of virtual machines handling requests\nto increase or decrease proportionally to the metric.\n\nFor example, a good metric to use as a utilizationTarget is\nwww.googleapis.com/compute/instance/network/received_bytes_count.\nThe autoscaler will work to keep this value constant for each\nof the instances.", + "type": "number" + }, + "type": { + "description": "Defines how target utilization value is expressed for a\nStackdriver Monitoring metric. Possible values: [\"GAUGE\", \"DELTA_PER_SECOND\", \"DELTA_PER_MINUTE\"].", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "minReplicas": { + "description": "The minimum number of replicas that the autoscaler can scale down\nto. This cannot be less than 0. If not provided, autoscaler will\nchoose a default value depending on maximum number of instances\nallowed.", + "type": "integer" + }, + "mode": { + "description": "Defines operating mode for this policy.", + "type": "string" + }, + "scaleDownControl": { + "description": "Defines scale down controls to reduce the risk of response latency\nand outages due to abrupt scale-in events.", + "properties": { + "maxScaledDownReplicas": { + "description": "A nested object resource.", + "properties": { + "fixed": { + "description": "Specifies a fixed number of VM instances. This must be a positive\ninteger.", + "type": "integer" + }, + "percent": { + "description": "Specifies a percentage of instances between 0 to 100%, inclusive.\nFor example, specify 80 for 80%.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + }, + "timeWindowSec": { + "description": "How long back autoscaling should look when computing recommendations\nto include directives regarding slower scale down, as described above.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + }, + "scaleInControl": { + "description": "Defines scale in controls to reduce the risk of response latency\nand outages due to abrupt scale-in events.", + "properties": { + "maxScaledInReplicas": { + "description": "A nested object resource.", + "properties": { + "fixed": { + "description": "Specifies a fixed number of VM instances. This must be a positive\ninteger.", + "type": "integer" + }, + "percent": { + "description": "Specifies a percentage of instances between 0 to 100%, inclusive.\nFor example, specify 80 for 80%.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + }, + "timeWindowSec": { + "description": "How long back autoscaling should look when computing recommendations\nto include directives regarding slower scale down, as described above.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + }, + "scalingSchedules": { + "description": "Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler and they can overlap.", + "items": { + "properties": { + "description": { + "description": "A description of a scaling schedule.", + "type": "string" + }, + "disabled": { + "description": "A boolean value that specifies if a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect.", + "type": "boolean" + }, + "durationSec": { + "description": "The duration of time intervals (in seconds) for which this scaling schedule will be running. The minimum allowed value is 300.", + "type": "integer" + }, + "minRequiredReplicas": { + "description": "Minimum number of VM instances that autoscaler will recommend in time intervals starting according to schedule.", + "type": "integer" + }, + "name": { + "type": "string" + }, + "schedule": { + "description": "The start timestamps of time intervals when this scaling schedule should provide a scaling signal. This field uses the extended cron format (with an optional year field).", + "type": "string" + }, + "timeZone": { + "description": "The time zone to be used when interpreting the schedule. The value of this field must be a time zone name from the tz database: http://en.wikipedia.org/wiki/Tz_database.", + "type": "string" + } + }, + "required": [ + "durationSec", + "minRequiredReplicas", + "name", + "schedule" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "maxReplicas", + "minReplicas" + ], + "type": "object", + "additionalProperties": false + }, + "description": { + "description": "An optional description of this resource.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "targetRef": { + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `selfLink` field of a `ComputeInstanceGroupManager` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "zone": { + "description": "Immutable. URL of the zone where the instance group resides.", + "type": "string" + } + }, + "required": [ + "autoscalingPolicy", + "projectRef", + "targetRef", + "zone" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "creationTimestamp": { + "description": "Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "selfLink": { + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/compute.cnrm.cloud.google.com/computebackendbucketsignedurlkey_v1alpha1.json b/compute.cnrm.cloud.google.com/computebackendbucketsignedurlkey_v1alpha1.json new file mode 100644 index 00000000..c9661a2c --- /dev/null +++ b/compute.cnrm.cloud.google.com/computebackendbucketsignedurlkey_v1alpha1.json @@ -0,0 +1,232 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "backendBucketRef": { + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `ComputeBackendBucket` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "keyValue": { + "description": "Immutable. 128-bit key value used for signing the URL. The key value must be a\nvalid RFC 4648 Section 5 base64url encoded string.", + "oneOf": [ + { + "not": { + "required": [ + "valueFrom" + ] + }, + "required": [ + "value" + ] + }, + { + "not": { + "required": [ + "value" + ] + }, + "required": [ + "valueFrom" + ] + } + ], + "properties": { + "value": { + "description": "Value of the field. Cannot be used if 'valueFrom' is specified.", + "type": "string" + }, + "valueFrom": { + "description": "Source for the field's value. Cannot be used if 'value' is specified.", + "properties": { + "secretKeyRef": { + "description": "Reference to a value with the given key in the given Secret in the resource's namespace.", + "properties": { + "key": { + "description": "Key that identifies the value to be extracted.", + "type": "string" + }, + "name": { + "description": "Name of the Secret to extract a value from.", + "type": "string" + } + }, + "required": [ + "name", + "key" + ], + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "backendBucketRef", + "keyValue", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/compute.cnrm.cloud.google.com/computebackendservicesignedurlkey_v1alpha1.json b/compute.cnrm.cloud.google.com/computebackendservicesignedurlkey_v1alpha1.json new file mode 100644 index 00000000..876e1344 --- /dev/null +++ b/compute.cnrm.cloud.google.com/computebackendservicesignedurlkey_v1alpha1.json @@ -0,0 +1,232 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "backendServiceRef": { + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `ComputeBackendService` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "keyValue": { + "description": "Immutable. 128-bit key value used for signing the URL. The key value must be a\nvalid RFC 4648 Section 5 base64url encoded string.", + "oneOf": [ + { + "not": { + "required": [ + "valueFrom" + ] + }, + "required": [ + "value" + ] + }, + { + "not": { + "required": [ + "value" + ] + }, + "required": [ + "valueFrom" + ] + } + ], + "properties": { + "value": { + "description": "Value of the field. Cannot be used if 'valueFrom' is specified.", + "type": "string" + }, + "valueFrom": { + "description": "Source for the field's value. Cannot be used if 'value' is specified.", + "properties": { + "secretKeyRef": { + "description": "Reference to a value with the given key in the given Secret in the resource's namespace.", + "properties": { + "key": { + "description": "Key that identifies the value to be extracted.", + "type": "string" + }, + "name": { + "description": "Name of the Secret to extract a value from.", + "type": "string" + } + }, + "required": [ + "name", + "key" + ], + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "backendServiceRef", + "keyValue", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/compute.cnrm.cloud.google.com/computediskresourcepolicyattachment_v1alpha1.json b/compute.cnrm.cloud.google.com/computediskresourcepolicyattachment_v1alpha1.json new file mode 100644 index 00000000..eae440f0 --- /dev/null +++ b/compute.cnrm.cloud.google.com/computediskresourcepolicyattachment_v1alpha1.json @@ -0,0 +1,177 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "diskRef": { + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `ComputeDisk` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "zone": { + "description": "Immutable. A reference to the zone where the disk resides.", + "type": "string" + } + }, + "required": [ + "diskRef", + "projectRef", + "zone" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/compute.cnrm.cloud.google.com/computeglobalnetworkendpoint_v1alpha1.json b/compute.cnrm.cloud.google.com/computeglobalnetworkendpoint_v1alpha1.json new file mode 100644 index 00000000..4d66adae --- /dev/null +++ b/compute.cnrm.cloud.google.com/computeglobalnetworkendpoint_v1alpha1.json @@ -0,0 +1,135 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "fqdn": { + "description": "Immutable. Fully qualified domain name of network endpoint.\nThis can only be specified when network_endpoint_type of the NEG is INTERNET_FQDN_PORT.", + "type": "string" + }, + "globalNetworkEndpointGroup": { + "description": "Immutable. The global network endpoint group this endpoint is part of.", + "type": "string" + }, + "ipAddress": { + "description": "Immutable. IPv4 address external endpoint.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The port of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "globalNetworkEndpointGroup", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/compute.cnrm.cloud.google.com/computeglobalnetworkendpointgroup_v1alpha1.json b/compute.cnrm.cloud.google.com/computeglobalnetworkendpointgroup_v1alpha1.json new file mode 100644 index 00000000..83dacca3 --- /dev/null +++ b/compute.cnrm.cloud.google.com/computeglobalnetworkendpointgroup_v1alpha1.json @@ -0,0 +1,138 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "defaultPort": { + "description": "Immutable. The default port used if the port number is not specified in the\nnetwork endpoint.", + "type": "integer" + }, + "description": { + "description": "Immutable. An optional description of this resource. Provide this property when\nyou create the resource.", + "type": "string" + }, + "networkEndpointType": { + "description": "Immutable. Type of network endpoints in this network endpoint group. Possible values: [\"INTERNET_IP_PORT\", \"INTERNET_FQDN_PORT\"].", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "networkEndpointType", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "selfLink": { + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/compute.cnrm.cloud.google.com/computeinstancegroupnamedport_v1alpha1.json b/compute.cnrm.cloud.google.com/computeinstancegroupnamedport_v1alpha1.json new file mode 100644 index 00000000..0d9226b4 --- /dev/null +++ b/compute.cnrm.cloud.google.com/computeinstancegroupnamedport_v1alpha1.json @@ -0,0 +1,182 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "groupRef": { + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `ComputeInstanceGroup` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "port": { + "description": "Immutable. The port number, which can be a value between 1 and 65535.", + "type": "integer" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "zone": { + "description": "Immutable. The zone of the instance group.", + "type": "string" + } + }, + "required": [ + "groupRef", + "port", + "projectRef", + "zone" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/compute.cnrm.cloud.google.com/computemachineimage_v1alpha1.json b/compute.cnrm.cloud.google.com/computemachineimage_v1alpha1.json new file mode 100644 index 00000000..1345e3d5 --- /dev/null +++ b/compute.cnrm.cloud.google.com/computemachineimage_v1alpha1.json @@ -0,0 +1,213 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "description": { + "description": "Immutable. A text description of the resource.", + "type": "string" + }, + "guestFlush": { + "description": "Immutable. Specify this to create an application consistent machine image by informing the OS to prepare for the snapshot process.\nCurrently only supported on Windows instances using the Volume Shadow Copy Service (VSS).", + "type": "boolean" + }, + "machineImageEncryptionKey": { + "description": "Immutable. Encrypts the machine image using a customer-supplied encryption key.\n\nAfter you encrypt a machine image with a customer-supplied key, you must\nprovide the same key if you use the machine image later (e.g. to create a\ninstance from the image).", + "properties": { + "kmsKeyName": { + "description": "Immutable. The name of the encryption key that is stored in Google Cloud KMS.", + "type": "string" + }, + "kmsKeyServiceAccount": { + "description": "Immutable. The service account used for the encryption request for the given KMS key.\nIf absent, the Compute Engine Service Agent service account is used.", + "type": "string" + }, + "rawKey": { + "description": "Immutable. Specifies a 256-bit customer-supplied encryption key, encoded in\nRFC 4648 base64 to either encrypt or decrypt this resource.", + "type": "string" + }, + "sha256": { + "description": "The RFC 4648 base64 encoded SHA-256 hash of the\ncustomer-supplied encryption key that protects this resource.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "sourceInstanceRef": { + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `selfLink` field of a `ComputeInstance` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "projectRef", + "sourceInstanceRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "selfLink": { + "type": "string" + }, + "storageLocations": { + "description": "The regional or multi-regional Cloud Storage bucket location where the machine image is stored.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/compute.cnrm.cloud.google.com/computemanagedsslcertificate_v1alpha1.json b/compute.cnrm.cloud.google.com/computemanagedsslcertificate_v1alpha1.json new file mode 100644 index 00000000..90ff6828 --- /dev/null +++ b/compute.cnrm.cloud.google.com/computemanagedsslcertificate_v1alpha1.json @@ -0,0 +1,176 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "description": { + "description": "Immutable. An optional description of this resource.", + "type": "string" + }, + "managed": { + "description": "Immutable. Properties relevant to a managed certificate. These will be used if the\ncertificate is managed (as indicated by a value of 'MANAGED' in 'type').", + "properties": { + "domains": { + "description": "Immutable. Domains for which a managed SSL certificate will be valid. Currently,\nthere can be up to 100 domains in this list.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "domains" + ], + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "type": { + "description": "Immutable. Enum field whose value is always 'MANAGED' - used to signal to the API\nwhich type this is. Default value: \"MANAGED\" Possible values: [\"MANAGED\"].", + "type": "string" + } + }, + "required": [ + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "observedState": { + "description": "The observed state of the underlying GCP resource.", + "properties": { + "certificateID": { + "description": "The unique identifier for the resource.", + "type": "integer" + }, + "creationTimestamp": { + "description": "Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "expireTime": { + "description": "Expire time of the certificate in RFC3339 text format.", + "type": "string" + }, + "selfLink": { + "type": "string" + }, + "subjectAlternativeNames": { + "description": "Domains associated with the certificate via Subject Alternative Name.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/compute.cnrm.cloud.google.com/computemanagedsslcertificate_v1beta1.json b/compute.cnrm.cloud.google.com/computemanagedsslcertificate_v1beta1.json new file mode 100644 index 00000000..90ff6828 --- /dev/null +++ b/compute.cnrm.cloud.google.com/computemanagedsslcertificate_v1beta1.json @@ -0,0 +1,176 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "description": { + "description": "Immutable. An optional description of this resource.", + "type": "string" + }, + "managed": { + "description": "Immutable. Properties relevant to a managed certificate. These will be used if the\ncertificate is managed (as indicated by a value of 'MANAGED' in 'type').", + "properties": { + "domains": { + "description": "Immutable. Domains for which a managed SSL certificate will be valid. Currently,\nthere can be up to 100 domains in this list.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "domains" + ], + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "type": { + "description": "Immutable. Enum field whose value is always 'MANAGED' - used to signal to the API\nwhich type this is. Default value: \"MANAGED\" Possible values: [\"MANAGED\"].", + "type": "string" + } + }, + "required": [ + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "observedState": { + "description": "The observed state of the underlying GCP resource.", + "properties": { + "certificateID": { + "description": "The unique identifier for the resource.", + "type": "integer" + }, + "creationTimestamp": { + "description": "Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "expireTime": { + "description": "Expire time of the certificate in RFC3339 text format.", + "type": "string" + }, + "selfLink": { + "type": "string" + }, + "subjectAlternativeNames": { + "description": "Domains associated with the certificate via Subject Alternative Name.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/compute.cnrm.cloud.google.com/computenetworkendpoint_v1alpha1.json b/compute.cnrm.cloud.google.com/computenetworkendpoint_v1alpha1.json new file mode 100644 index 00000000..71385d78 --- /dev/null +++ b/compute.cnrm.cloud.google.com/computenetworkendpoint_v1alpha1.json @@ -0,0 +1,231 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "instanceRef": { + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `ComputeInstance` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "ipAddress": { + "description": "Immutable. IPv4 address of network endpoint. The IP address must belong\nto a VM in GCE (either the primary IP or as part of an aliased IP\nrange).", + "type": "string" + }, + "networkEndpointGroupRef": { + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `ComputeNetworkEndpointGroup` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The port of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "zone": { + "description": "Immutable. Zone where the containing network endpoint group is located.", + "type": "string" + } + }, + "required": [ + "ipAddress", + "networkEndpointGroupRef", + "projectRef", + "zone" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/compute.cnrm.cloud.google.com/computenetworkfirewallpolicy_v1beta1.json b/compute.cnrm.cloud.google.com/computenetworkfirewallpolicy_v1beta1.json new file mode 100644 index 00000000..8fa5321a --- /dev/null +++ b/compute.cnrm.cloud.google.com/computenetworkfirewallpolicy_v1beta1.json @@ -0,0 +1,150 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "creationTimestamp": { + "description": "Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "fingerprint": { + "description": "Fingerprint of the resource. This field is used internally during updates of this resource.", + "type": "string" + }, + "networkFirewallPolicyId": { + "description": "The unique identifier for the resource. This identifier is defined by the server.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "ruleTupleCount": { + "description": "Total count of all firewall policy rule tuples. A firewall policy can not exceed a set number of tuples.", + "type": "integer" + }, + "selfLink": { + "description": "Server-defined URL for the resource.", + "type": "string" + }, + "selfLinkWithId": { + "description": "Server-defined URL for this resource with the resource id.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/compute.cnrm.cloud.google.com/computenetworkfirewallpolicyassociation_v1beta1.json b/compute.cnrm.cloud.google.com/computenetworkfirewallpolicyassociation_v1beta1.json new file mode 100644 index 00000000..916a2bdd --- /dev/null +++ b/compute.cnrm.cloud.google.com/computenetworkfirewallpolicyassociation_v1beta1.json @@ -0,0 +1,228 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "attachmentTargetRef": { + "description": "The target that the firewall policy is attached to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `selfLink` field of a `ComputeNetwork` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "firewallPolicyRef": { + "description": "The firewall policy ID of the association.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `networkFirewallPolicyId` field of a `ComputeNetworkFirewallPolicy` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "attachmentTargetRef", + "firewallPolicyRef", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "shortName": { + "description": "The short name of the firewall policy of the association.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/compute.cnrm.cloud.google.com/computenetworkfirewallpolicyrule_v1alpha1.json b/compute.cnrm.cloud.google.com/computenetworkfirewallpolicyrule_v1alpha1.json new file mode 100644 index 00000000..db3b996a --- /dev/null +++ b/compute.cnrm.cloud.google.com/computenetworkfirewallpolicyrule_v1alpha1.json @@ -0,0 +1,407 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "action": { + "description": "The Action to perform when the client connection triggers the rule. Valid actions are \"allow\", \"deny\" and \"goto_next\".", + "type": "string" + }, + "description": { + "description": "An optional description for this resource.", + "type": "string" + }, + "direction": { + "description": "The direction in which this rule applies. Possible values: INGRESS, EGRESS.", + "type": "string" + }, + "disabled": { + "description": "Denotes whether the firewall policy rule is disabled. When set to true, the firewall policy rule is not enforced and traffic behaves as if it did not exist. If this is unspecified, the firewall policy rule will be enabled.", + "type": "boolean" + }, + "enableLogging": { + "description": "Denotes whether to enable logging for a particular rule. If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on \"goto_next\" rules.", + "type": "boolean" + }, + "firewallPolicyRef": { + "description": "The firewall policy of the resource.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `networkFirewallPolicyId` field of a `ComputeNetworkFirewallPolicy` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "match": { + "description": "A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced.", + "properties": { + "destAddressGroups": { + "description": "Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10. Destination address groups is only supported in Egress rules.", + "items": { + "type": "string" + }, + "type": "array" + }, + "destFqdns": { + "description": "Domain names that will be used to match against the resolved domain name of destination of traffic. Can only be specified if DIRECTION is egress.", + "items": { + "type": "string" + }, + "type": "array" + }, + "destIpRanges": { + "description": "CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 5000.", + "items": { + "type": "string" + }, + "type": "array" + }, + "destRegionCodes": { + "description": "The Unicode country codes whose IP addresses will be used to match against the source of traffic. Can only be specified if DIRECTION is egress.", + "items": { + "type": "string" + }, + "type": "array" + }, + "destThreatIntelligences": { + "description": "Name of the Google Cloud Threat Intelligence list.", + "items": { + "type": "string" + }, + "type": "array" + }, + "layer4Configs": { + "description": "Pairs of IP protocols and ports that the rule should match.", + "items": { + "properties": { + "ipProtocol": { + "description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (`tcp`, `udp`, `icmp`, `esp`, `ah`, `ipip`, `sctp`), or the IP protocol number.", + "type": "string" + }, + "ports": { + "description": "An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: ``.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ipProtocol" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "srcAddressGroups": { + "description": "Address groups which should be matched against the traffic source. Maximum number of source address groups is 10. Source address groups is only supported in Ingress rules.", + "items": { + "type": "string" + }, + "type": "array" + }, + "srcFqdns": { + "description": "Domain names that will be used to match against the resolved domain name of source of traffic. Can only be specified if DIRECTION is ingress.", + "items": { + "type": "string" + }, + "type": "array" + }, + "srcIpRanges": { + "description": "CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 5000.", + "items": { + "type": "string" + }, + "type": "array" + }, + "srcRegionCodes": { + "description": "The Unicode country codes whose IP addresses will be used to match against the source of traffic. Can only be specified if DIRECTION is ingress.", + "items": { + "type": "string" + }, + "type": "array" + }, + "srcSecureTags": { + "description": "List of secure tag values, which should be matched at the source of the traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there is no srcIpRange, this rule will be ignored. Maximum number of source tag values allowed is 256.", + "items": { + "properties": { + "name": { + "description": "Name of the secure tag, created with TagManager's TagValue API. @pattern tagValues/[0-9]+.", + "type": "string" + }, + "state": { + "description": "[Output Only] State of the secure tag, either `EFFECTIVE` or `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted or its network is deleted.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "srcThreatIntelligences": { + "description": "Name of the Google Cloud Threat Intelligence list.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "layer4Configs" + ], + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The priority of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "ruleName": { + "description": "An optional name for the rule. This field is not a unique identifier and can be updated.", + "type": "string" + }, + "targetSecureTags": { + "description": "A list of secure tags that controls which instances the firewall rule applies to. If targetSecureTag are specified, then the firewall rule applies only to instances in the VPC network that have one of those EFFECTIVE secure tags, if all the target_secure_tag are in INEFFECTIVE state, then this rule will be ignored. targetSecureTag may not be set at the same time as targetServiceAccounts. If neither targetServiceAccounts nor targetSecureTag are specified, the firewall rule applies to all instances on the specified network. Maximum number of target label tags allowed is 256.", + "items": { + "properties": { + "name": { + "description": "Name of the secure tag, created with TagManager's TagValue API. @pattern tagValues/[0-9]+.", + "type": "string" + }, + "state": { + "description": "[Output Only] State of the secure tag, either `EFFECTIVE` or `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted or its network is deleted.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "targetServiceAccountRefs": { + "items": { + "description": "A list of service accounts indicating the sets of instances that are applied with this rule", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `email` field of an `IAMServiceAccount` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "action", + "direction", + "firewallPolicyRef", + "match", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "kind": { + "description": "Type of the resource. Always `compute#firewallPolicyRule` for firewall policy rules.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "ruleTupleCount": { + "description": "Calculation of the complexity of a single firewall policy rule.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/compute.cnrm.cloud.google.com/computenetworkpeeringroutesconfig_v1alpha1.json b/compute.cnrm.cloud.google.com/computenetworkpeeringroutesconfig_v1alpha1.json new file mode 100644 index 00000000..c8e2bcec --- /dev/null +++ b/compute.cnrm.cloud.google.com/computenetworkpeeringroutesconfig_v1alpha1.json @@ -0,0 +1,182 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "exportCustomRoutes": { + "description": "Whether to export the custom routes to the peer network.", + "type": "boolean" + }, + "importCustomRoutes": { + "description": "Whether to import the custom routes to the peer network.", + "type": "boolean" + }, + "networkRef": { + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `ComputeNetwork` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The peering of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "exportCustomRoutes", + "importCustomRoutes", + "networkRef", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/compute.cnrm.cloud.google.com/computeorganizationsecuritypolicy_v1alpha1.json b/compute.cnrm.cloud.google.com/computeorganizationsecuritypolicy_v1alpha1.json new file mode 100644 index 00000000..5fb29366 --- /dev/null +++ b/compute.cnrm.cloud.google.com/computeorganizationsecuritypolicy_v1alpha1.json @@ -0,0 +1,97 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "description": { + "description": "A textual description for the organization security policy.", + "type": "string" + }, + "displayName": { + "description": "Immutable. A textual name of the security policy.", + "type": "string" + }, + "parent": { + "description": "Immutable. The parent of this OrganizationSecurityPolicy in the Cloud Resource Hierarchy.\nFormat: organizations/{organization_id} or folders/{folder_id}.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The policyId of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "type": { + "description": "Immutable. The type indicates the intended use of the security policy.\nFor organization security policies, the only supported type\nis \"FIREWALL\". Default value: \"FIREWALL\" Possible values: [\"FIREWALL\"].", + "type": "string" + } + }, + "required": [ + "displayName", + "parent" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "fingerprint": { + "description": "Fingerprint of this resource. This field is used internally during\nupdates of this resource.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "policyId": { + "description": "The unique identifier for the resource. This identifier is defined by the server.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/compute.cnrm.cloud.google.com/computeorganizationsecuritypolicyassociation_v1alpha1.json b/compute.cnrm.cloud.google.com/computeorganizationsecuritypolicyassociation_v1alpha1.json new file mode 100644 index 00000000..a8b89601 --- /dev/null +++ b/compute.cnrm.cloud.google.com/computeorganizationsecuritypolicyassociation_v1alpha1.json @@ -0,0 +1,85 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "attachmentId": { + "description": "Immutable. The resource that the security policy is attached to.", + "type": "string" + }, + "policyId": { + "description": "Immutable. The security policy ID of the association.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "attachmentId", + "policyId" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "displayName": { + "description": "The display name of the security policy of the association.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/compute.cnrm.cloud.google.com/computeorganizationsecuritypolicyrule_v1alpha1.json b/compute.cnrm.cloud.google.com/computeorganizationsecuritypolicyrule_v1alpha1.json new file mode 100644 index 00000000..ff2d6df6 --- /dev/null +++ b/compute.cnrm.cloud.google.com/computeorganizationsecuritypolicyrule_v1alpha1.json @@ -0,0 +1,178 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "action": { + "description": "The Action to perform when the client connection triggers the rule. Can currently be either\n\"allow\", \"deny\" or \"goto_next\".", + "type": "string" + }, + "description": { + "description": "A description of the rule.", + "type": "string" + }, + "direction": { + "description": "The direction in which this rule applies. If unspecified an INGRESS rule is created. Possible values: [\"INGRESS\", \"EGRESS\"].", + "type": "string" + }, + "enableLogging": { + "description": "Denotes whether to enable logging for a particular rule.\nIf logging is enabled, logs will be exported to the\nconfigured export destination in Stackdriver.", + "type": "boolean" + }, + "match": { + "description": "A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced.", + "properties": { + "config": { + "description": "The configuration options for matching the rule.", + "properties": { + "destIpRanges": { + "description": "Destination IP address range in CIDR format. Required for\nEGRESS rules.", + "items": { + "type": "string" + }, + "type": "array" + }, + "layer4Config": { + "description": "Pairs of IP protocols and ports that the rule should match.", + "items": { + "properties": { + "ipProtocol": { + "description": "The IP protocol to which this rule applies. The protocol\ntype is required when creating a firewall rule.\nThis value can either be one of the following well\nknown protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp),\nor the IP protocol number.", + "type": "string" + }, + "ports": { + "description": "An optional list of ports to which this rule applies. This field\nis only applicable for UDP or TCP protocol. Each entry must be\neither an integer or a range. If not specified, this rule\napplies to connections through any port.\n\nExample inputs include: [\"22\"], [\"80\",\"443\"], and\n[\"12345-12349\"].", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ipProtocol" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "srcIpRanges": { + "description": "Source IP address range in CIDR format. Required for\nINGRESS rules.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "layer4Config" + ], + "type": "object", + "additionalProperties": false + }, + "description": { + "description": "A description of the rule.", + "type": "string" + }, + "versionedExpr": { + "description": "Preconfigured versioned expression. For organization security policy rules,\nthe only supported type is \"FIREWALL\". Default value: \"FIREWALL\" Possible values: [\"FIREWALL\"].", + "type": "string" + } + }, + "required": [ + "config" + ], + "type": "object", + "additionalProperties": false + }, + "policyId": { + "description": "Immutable. The ID of the OrganizationSecurityPolicy this rule applies to.", + "type": "string" + }, + "preview": { + "description": "If set to true, the specified action is not enforced.", + "type": "boolean" + }, + "resourceID": { + "description": "Immutable. Optional. The priority of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "targetResources": { + "description": "A list of network resource URLs to which this rule applies.\nThis field allows you to control which network's VMs get\nthis rule. If this field is left blank, all VMs\nwithin the organization will receive the rule.", + "items": { + "type": "string" + }, + "type": "array" + }, + "targetServiceAccounts": { + "description": "A list of service accounts indicating the sets of\ninstances that are applied with this rule.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "action", + "match", + "policyId" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/compute.cnrm.cloud.google.com/computeperinstanceconfig_v1alpha1.json b/compute.cnrm.cloud.google.com/computeperinstanceconfig_v1alpha1.json new file mode 100644 index 00000000..7e1e1792 --- /dev/null +++ b/compute.cnrm.cloud.google.com/computeperinstanceconfig_v1alpha1.json @@ -0,0 +1,295 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "instanceGroupManagerRef": { + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `ComputeInstanceGroupManager` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "minimalAction": { + "description": "The minimal action to perform on the instance during an update.\nDefault is 'NONE'. Possible values are:\n* REPLACE\n* RESTART\n* REFRESH\n* NONE.", + "type": "string" + }, + "mostDisruptiveAllowedAction": { + "description": "The most disruptive action to perform on the instance during an update.\nDefault is 'REPLACE'. Possible values are:\n* REPLACE\n* RESTART\n* REFRESH\n* NONE.", + "type": "string" + }, + "preservedState": { + "description": "The preserved state for this instance.", + "properties": { + "disk": { + "description": "Stateful disks for the instance.", + "items": { + "properties": { + "deleteRule": { + "description": "A value that prescribes what should happen to the stateful disk when the VM instance is deleted.\nThe available options are 'NEVER' and 'ON_PERMANENT_INSTANCE_DELETION'.\n'NEVER' - detach the disk when the VM is deleted, but do not delete the disk.\n'ON_PERMANENT_INSTANCE_DELETION' will delete the stateful disk when the VM is permanently\ndeleted from the instance group. Default value: \"NEVER\" Possible values: [\"NEVER\", \"ON_PERMANENT_INSTANCE_DELETION\"].", + "type": "string" + }, + "deviceName": { + "description": "A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance.", + "type": "string" + }, + "mode": { + "description": "The mode of the disk. Default value: \"READ_WRITE\" Possible values: [\"READ_ONLY\", \"READ_WRITE\"].", + "type": "string" + }, + "source": { + "description": "The URI of an existing persistent disk to attach under the specified device-name in the format\n'projects/project-id/zones/zone/disks/disk-name'.", + "type": "string" + } + }, + "required": [ + "deviceName", + "source" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "externalIp": { + "description": "Preserved external IPs defined for this instance. This map is keyed with the name of the network interface.", + "items": { + "properties": { + "autoDelete": { + "description": "These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Default value: \"NEVER\" Possible values: [\"NEVER\", \"ON_PERMANENT_INSTANCE_DELETION\"].", + "type": "string" + }, + "interfaceName": { + "type": "string" + }, + "ipAddress": { + "description": "Ip address representation.", + "properties": { + "address": { + "description": "The URL of the reservation for this IP address.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "interfaceName" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "internalIp": { + "description": "Preserved internal IPs defined for this instance. This map is keyed with the name of the network interface.", + "items": { + "properties": { + "autoDelete": { + "description": "These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Default value: \"NEVER\" Possible values: [\"NEVER\", \"ON_PERMANENT_INSTANCE_DELETION\"].", + "type": "string" + }, + "interfaceName": { + "type": "string" + }, + "ipAddress": { + "description": "Ip address representation.", + "properties": { + "address": { + "description": "The URL of the reservation for this IP address.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "interfaceName" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Preserved metadata defined for this instance. This is a list of key->value pairs.", + "type": "object" + } + }, + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "removeInstanceStateOnDestroy": { + "description": "When true, deleting this config will immediately remove any specified state from the underlying instance.\nWhen false, deleting this config will *not* immediately remove any state from the underlying instance.\nState will be removed on the next instance recreation or update.", + "type": "boolean" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "zone": { + "description": "Immutable. Zone where the containing instance group manager is located.", + "type": "string" + } + }, + "required": [ + "instanceGroupManagerRef", + "projectRef", + "zone" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/compute.cnrm.cloud.google.com/computeregionautoscaler_v1alpha1.json b/compute.cnrm.cloud.google.com/computeregionautoscaler_v1alpha1.json new file mode 100644 index 00000000..890add3e --- /dev/null +++ b/compute.cnrm.cloud.google.com/computeregionautoscaler_v1alpha1.json @@ -0,0 +1,331 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "autoscalingPolicy": { + "description": "The configuration parameters for the autoscaling algorithm. You can\ndefine one or more of the policies for an autoscaler: cpuUtilization,\ncustomMetricUtilizations, and loadBalancingUtilization.\n\nIf none of these are specified, the default will be to autoscale based\non cpuUtilization to 0.6 or 60%.", + "properties": { + "cooldownPeriod": { + "description": "The number of seconds that the autoscaler should wait before it\nstarts collecting information from a new instance. This prevents\nthe autoscaler from collecting information when the instance is\ninitializing, during which the collected usage would not be\nreliable. The default time autoscaler waits is 60 seconds.\n\nVirtual machine initialization times might vary because of\nnumerous factors. We recommend that you test how long an\ninstance may take to initialize. To do this, create an instance\nand time the startup process.", + "type": "integer" + }, + "cpuUtilization": { + "description": "Defines the CPU utilization policy that allows the autoscaler to\nscale based on the average CPU utilization of a managed instance\ngroup.", + "properties": { + "predictiveMethod": { + "description": "Indicates whether predictive autoscaling based on CPU metric is enabled. Valid values are:\n\n- NONE (default). No predictive method is used. The autoscaler scales the group to meet current demand based on real-time metrics.\n\n- OPTIMIZE_AVAILABILITY. Predictive autoscaling improves availability by monitoring daily and weekly load patterns and scaling out ahead of anticipated demand.", + "type": "string" + }, + "target": { + "description": "The target CPU utilization that the autoscaler should maintain.\nMust be a float value in the range (0, 1]. If not specified, the\ndefault is 0.6.\n\nIf the CPU level is below the target utilization, the autoscaler\nscales down the number of instances until it reaches the minimum\nnumber of instances you specified or until the average CPU of\nyour instances reaches the target utilization.\n\nIf the average CPU is above the target utilization, the autoscaler\nscales up until it reaches the maximum number of instances you\nspecified or until the average utilization reaches the target\nutilization.", + "type": "number" + } + }, + "required": [ + "target" + ], + "type": "object", + "additionalProperties": false + }, + "loadBalancingUtilization": { + "description": "Configuration parameters of autoscaling based on a load balancer.", + "properties": { + "target": { + "description": "Fraction of backend capacity utilization (set in HTTP(s) load\nbalancing configuration) that autoscaler should maintain. Must\nbe a positive float value. If not defined, the default is 0.8.", + "type": "number" + } + }, + "required": [ + "target" + ], + "type": "object", + "additionalProperties": false + }, + "maxReplicas": { + "description": "The maximum number of instances that the autoscaler can scale up\nto. This is required when creating or updating an autoscaler. The\nmaximum number of replicas should not be lower than minimal number\nof replicas.", + "type": "integer" + }, + "metric": { + "description": "Configuration parameters of autoscaling based on a custom metric.", + "items": { + "properties": { + "filter": { + "description": "A filter string to be used as the filter string for\na Stackdriver Monitoring TimeSeries.list API call.\nThis filter is used to select a specific TimeSeries for\nthe purpose of autoscaling and to determine whether the metric\nis exporting per-instance or per-group data.\n\nYou can only use the AND operator for joining selectors.\nYou can only use direct equality comparison operator (=) without\nany functions for each selector.\nYou can specify the metric in both the filter string and in the\nmetric field. However, if specified in both places, the metric must\nbe identical.\n\nThe monitored resource type determines what kind of values are\nexpected for the metric. If it is a gce_instance, the autoscaler\nexpects the metric to include a separate TimeSeries for each\ninstance in a group. In such a case, you cannot filter on resource\nlabels.\n\nIf the resource type is any other value, the autoscaler expects\nthis metric to contain values that apply to the entire autoscaled\ninstance group and resource label filtering can be performed to\npoint autoscaler at the correct TimeSeries to scale upon.\nThis is called a per-group metric for the purpose of autoscaling.\n\nIf not specified, the type defaults to gce_instance.\n\nYou should provide a filter that is selective enough to pick just\none TimeSeries for the autoscaled group or for each of the instances\n(if you are using gce_instance resource type). If multiple\nTimeSeries are returned upon the query execution, the autoscaler\nwill sum their respective values to obtain its scaling value.", + "type": "string" + }, + "name": { + "description": "The identifier (type) of the Stackdriver Monitoring metric.\nThe metric cannot have negative values.\n\nThe metric must have a value type of INT64 or DOUBLE.", + "type": "string" + }, + "singleInstanceAssignment": { + "description": "If scaling is based on a per-group metric value that represents the\ntotal amount of work to be done or resource usage, set this value to\nan amount assigned for a single instance of the scaled group.\nThe autoscaler will keep the number of instances proportional to the\nvalue of this metric, the metric itself should not change value due\nto group resizing.\n\nFor example, a good metric to use with the target is\n'pubsub.googleapis.com/subscription/num_undelivered_messages'\nor a custom metric exporting the total number of requests coming to\nyour instances.\n\nA bad example would be a metric exporting an average or median\nlatency, since this value can't include a chunk assignable to a\nsingle instance, it could be better used with utilization_target\ninstead.", + "type": "number" + }, + "target": { + "description": "The target value of the metric that autoscaler should\nmaintain. This must be a positive value. A utilization\nmetric scales number of virtual machines handling requests\nto increase or decrease proportionally to the metric.\n\nFor example, a good metric to use as a utilizationTarget is\nwww.googleapis.com/compute/instance/network/received_bytes_count.\nThe autoscaler will work to keep this value constant for each\nof the instances.", + "type": "number" + }, + "type": { + "description": "Defines how target utilization value is expressed for a\nStackdriver Monitoring metric. Possible values: [\"GAUGE\", \"DELTA_PER_SECOND\", \"DELTA_PER_MINUTE\"].", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "minReplicas": { + "description": "The minimum number of replicas that the autoscaler can scale down\nto. This cannot be less than 0. If not provided, autoscaler will\nchoose a default value depending on maximum number of instances\nallowed.", + "type": "integer" + }, + "mode": { + "description": "Defines operating mode for this policy.", + "type": "string" + }, + "scaleDownControl": { + "description": "Defines scale down controls to reduce the risk of response latency\nand outages due to abrupt scale-in events.", + "properties": { + "maxScaledDownReplicas": { + "description": "A nested object resource.", + "properties": { + "fixed": { + "description": "Specifies a fixed number of VM instances. This must be a positive\ninteger.", + "type": "integer" + }, + "percent": { + "description": "Specifies a percentage of instances between 0 to 100%, inclusive.\nFor example, specify 80 for 80%.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + }, + "timeWindowSec": { + "description": "How long back autoscaling should look when computing recommendations\nto include directives regarding slower scale down, as described above.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + }, + "scaleInControl": { + "description": "Defines scale in controls to reduce the risk of response latency\nand outages due to abrupt scale-in events.", + "properties": { + "maxScaledInReplicas": { + "description": "A nested object resource.", + "properties": { + "fixed": { + "description": "Specifies a fixed number of VM instances. This must be a positive\ninteger.", + "type": "integer" + }, + "percent": { + "description": "Specifies a percentage of instances between 0 to 100%, inclusive.\nFor example, specify 80 for 80%.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + }, + "timeWindowSec": { + "description": "How long back autoscaling should look when computing recommendations\nto include directives regarding slower scale down, as described above.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + }, + "scalingSchedules": { + "description": "Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler and they can overlap.", + "items": { + "properties": { + "description": { + "description": "A description of a scaling schedule.", + "type": "string" + }, + "disabled": { + "description": "A boolean value that specifies if a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect.", + "type": "boolean" + }, + "durationSec": { + "description": "The duration of time intervals (in seconds) for which this scaling schedule will be running. The minimum allowed value is 300.", + "type": "integer" + }, + "minRequiredReplicas": { + "description": "Minimum number of VM instances that autoscaler will recommend in time intervals starting according to schedule.", + "type": "integer" + }, + "name": { + "type": "string" + }, + "schedule": { + "description": "The start timestamps of time intervals when this scaling schedule should provide a scaling signal. This field uses the extended cron format (with an optional year field).", + "type": "string" + }, + "timeZone": { + "description": "The time zone to be used when interpreting the schedule. The value of this field must be a time zone name from the tz database: http://en.wikipedia.org/wiki/Tz_database.", + "type": "string" + } + }, + "required": [ + "durationSec", + "minRequiredReplicas", + "name", + "schedule" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "maxReplicas", + "minReplicas" + ], + "type": "object", + "additionalProperties": false + }, + "description": { + "description": "An optional description of this resource.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Immutable. URL of the region where the instance group resides.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "target": { + "description": "URL of the managed instance group that this autoscaler will scale.", + "type": "string" + } + }, + "required": [ + "autoscalingPolicy", + "projectRef", + "region", + "target" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "creationTimestamp": { + "description": "Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "selfLink": { + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/compute.cnrm.cloud.google.com/computeregiondiskresourcepolicyattachment_v1alpha1.json b/compute.cnrm.cloud.google.com/computeregiondiskresourcepolicyattachment_v1alpha1.json new file mode 100644 index 00000000..33bdd665 --- /dev/null +++ b/compute.cnrm.cloud.google.com/computeregiondiskresourcepolicyattachment_v1alpha1.json @@ -0,0 +1,177 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "diskRef": { + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `ComputeDisk` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Immutable. A reference to the region where the disk resides.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "diskRef", + "projectRef", + "region" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/compute.cnrm.cloud.google.com/computeregionperinstanceconfig_v1alpha1.json b/compute.cnrm.cloud.google.com/computeregionperinstanceconfig_v1alpha1.json new file mode 100644 index 00000000..cb0aaf51 --- /dev/null +++ b/compute.cnrm.cloud.google.com/computeregionperinstanceconfig_v1alpha1.json @@ -0,0 +1,295 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "minimalAction": { + "description": "The minimal action to perform on the instance during an update.\nDefault is 'NONE'. Possible values are:\n* REPLACE\n* RESTART\n* REFRESH\n* NONE.", + "type": "string" + }, + "mostDisruptiveAllowedAction": { + "description": "The most disruptive action to perform on the instance during an update.\nDefault is 'REPLACE'. Possible values are:\n* REPLACE\n* RESTART\n* REFRESH\n* NONE.", + "type": "string" + }, + "preservedState": { + "description": "The preserved state for this instance.", + "properties": { + "disk": { + "description": "Stateful disks for the instance.", + "items": { + "properties": { + "deleteRule": { + "description": "A value that prescribes what should happen to the stateful disk when the VM instance is deleted.\nThe available options are 'NEVER' and 'ON_PERMANENT_INSTANCE_DELETION'.\n'NEVER' - detach the disk when the VM is deleted, but do not delete the disk.\n'ON_PERMANENT_INSTANCE_DELETION' will delete the stateful disk when the VM is permanently\ndeleted from the instance group. Default value: \"NEVER\" Possible values: [\"NEVER\", \"ON_PERMANENT_INSTANCE_DELETION\"].", + "type": "string" + }, + "deviceName": { + "description": "A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance.", + "type": "string" + }, + "mode": { + "description": "The mode of the disk. Default value: \"READ_WRITE\" Possible values: [\"READ_ONLY\", \"READ_WRITE\"].", + "type": "string" + }, + "source": { + "description": "The URI of an existing persistent disk to attach under the specified device-name in the format\n'projects/project-id/zones/zone/disks/disk-name'.", + "type": "string" + } + }, + "required": [ + "deviceName", + "source" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "externalIp": { + "description": "Preserved external IPs defined for this instance. This map is keyed with the name of the network interface.", + "items": { + "properties": { + "autoDelete": { + "description": "These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Default value: \"NEVER\" Possible values: [\"NEVER\", \"ON_PERMANENT_INSTANCE_DELETION\"].", + "type": "string" + }, + "interfaceName": { + "type": "string" + }, + "ipAddress": { + "description": "Ip address representation.", + "properties": { + "address": { + "description": "The URL of the reservation for this IP address.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "interfaceName" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "internalIp": { + "description": "Preserved internal IPs defined for this instance. This map is keyed with the name of the network interface.", + "items": { + "properties": { + "autoDelete": { + "description": "These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Default value: \"NEVER\" Possible values: [\"NEVER\", \"ON_PERMANENT_INSTANCE_DELETION\"].", + "type": "string" + }, + "interfaceName": { + "type": "string" + }, + "ipAddress": { + "description": "Ip address representation.", + "properties": { + "address": { + "description": "The URL of the reservation for this IP address.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "interfaceName" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Preserved metadata defined for this instance. This is a list of key->value pairs.", + "type": "object" + } + }, + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Immutable. Region where the containing instance group manager is located.", + "type": "string" + }, + "regionInstanceGroupManagerRef": { + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `ComputeRegionInstanceGroupManager` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "removeInstanceStateOnDestroy": { + "description": "When true, deleting this config will immediately remove any specified state from the underlying instance.\nWhen false, deleting this config will *not* immediately remove any state from the underlying instance.\nState will be removed on the next instance recreation or update.", + "type": "boolean" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "projectRef", + "region", + "regionInstanceGroupManagerRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/compute.cnrm.cloud.google.com/computeregionsslpolicy_v1alpha1.json b/compute.cnrm.cloud.google.com/computeregionsslpolicy_v1alpha1.json new file mode 100644 index 00000000..250fb124 --- /dev/null +++ b/compute.cnrm.cloud.google.com/computeregionsslpolicy_v1alpha1.json @@ -0,0 +1,164 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "customFeatures": { + "description": "A list of features enabled when the selected profile is CUSTOM. The\nmethod returns the set of features that can be specified in this\nlist. This field must be empty if the profile is not CUSTOM.\n\nSee the [official documentation](https://cloud.google.com/compute/docs/load-balancing/ssl-policies#profilefeaturesupport)\nfor which ciphers are available to use. **Note**: this argument\n*must* be present when using the 'CUSTOM' profile. This argument\n*must not* be present when using any other profile.", + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "Immutable. An optional description of this resource.", + "type": "string" + }, + "minTlsVersion": { + "description": "The minimum version of SSL protocol that can be used by the clients\nto establish a connection with the load balancer. Default value: \"TLS_1_0\" Possible values: [\"TLS_1_0\", \"TLS_1_1\", \"TLS_1_2\"].", + "type": "string" + }, + "profile": { + "description": "Profile specifies the set of SSL features that can be used by the\nload balancer when negotiating SSL with clients. If using 'CUSTOM',\nthe set of SSL features to enable must be specified in the\n'customFeatures' field.\n\nSee the [official documentation](https://cloud.google.com/compute/docs/load-balancing/ssl-policies#profilefeaturesupport)\nfor information on what cipher suites each profile provides. If\n'CUSTOM' is used, the 'custom_features' attribute **must be set**. Default value: \"COMPATIBLE\" Possible values: [\"COMPATIBLE\", \"MODERN\", \"RESTRICTED\", \"CUSTOM\"].", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Immutable. The region where the regional SSL policy resides.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "projectRef", + "region" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "creationTimestamp": { + "description": "Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "enabledFeatures": { + "description": "The list of features enabled in the SSL policy.", + "items": { + "type": "string" + }, + "type": "array" + }, + "fingerprint": { + "description": "Fingerprint of this resource. A hash of the contents stored in this\nobject. This field is used in optimistic locking.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "selfLink": { + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/containeranalysis.cnrm.cloud.google.com/containeranalysisoccurrence_v1alpha1.json b/containeranalysis.cnrm.cloud.google.com/containeranalysisoccurrence_v1alpha1.json new file mode 100644 index 00000000..560ec512 --- /dev/null +++ b/containeranalysis.cnrm.cloud.google.com/containeranalysisoccurrence_v1alpha1.json @@ -0,0 +1,189 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "attestation": { + "description": "Occurrence that represents a single \"attestation\". The authenticity\nof an attestation can be verified using the attached signature.\nIf the verifier trusts the public key of the signer, then verifying\nthe signature is sufficient to establish trust. In this circumstance,\nthe authority to which this attestation is attached is primarily\nuseful for lookup (how to find this attestation if you already\nknow the authority and artifact to be verified) and intent (for\nwhich authority this attestation was intended to sign.", + "properties": { + "serializedPayload": { + "description": "The serialized payload that is verified by one or\nmore signatures. A base64-encoded string.", + "type": "string" + }, + "signatures": { + "description": "One or more signatures over serializedPayload.\nVerifier implementations should consider this attestation\nmessage verified if at least one signature verifies\nserializedPayload. See Signature in common.proto for more\ndetails on signature structure and verification.", + "items": { + "properties": { + "publicKeyId": { + "description": "The identifier for the public key that verifies this\nsignature. MUST be an RFC3986 conformant\nURI. * When possible, the key id should be an\nimmutable reference, such as a cryptographic digest.\nExamples of valid values:\n\n* OpenPGP V4 public key fingerprint. See https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr\n for more details on this scheme.\n * 'openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA'\n* RFC6920 digest-named SubjectPublicKeyInfo (digest of the DER serialization):\n * \"ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU\".", + "type": "string" + }, + "signature": { + "description": "The content of the signature, an opaque bytestring.\nThe payload that this signature verifies MUST be\nunambiguously provided with the Signature during\nverification. A wrapper message might provide the\npayload explicitly. Alternatively, a message might\nhave a canonical serialization that can always be\nunambiguously computed to derive the payload.", + "type": "string" + } + }, + "required": [ + "publicKeyId" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "serializedPayload", + "signatures" + ], + "type": "object", + "additionalProperties": false + }, + "noteName": { + "description": "Immutable. The analysis note associated with this occurrence, in the form of\nprojects/[PROJECT]/notes/[NOTE_ID]. This field can be used as a\nfilter in list requests.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "remediation": { + "description": "A description of actions that can be taken to remedy the note.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + }, + "resourceUri": { + "description": "Immutable. Required. Immutable. A URI that represents the resource for which\nthe occurrence applies. For example,\nhttps://gcr.io/project/image@sha256:123abc for a Docker image.", + "type": "string" + } + }, + "required": [ + "attestation", + "noteName", + "projectRef", + "resourceUri" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "createTime": { + "description": "The time when the repository was created.", + "type": "string" + }, + "kind": { + "description": "The note kind which explicitly denotes which of the occurrence\ndetails are specified. This field can be used as a filter in list\nrequests.", + "type": "string" + }, + "name": { + "description": "The name of the occurrence.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "updateTime": { + "description": "The time when the repository was last updated.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/datacatalog.cnrm.cloud.google.com/datacatalogentry_v1alpha1.json b/datacatalog.cnrm.cloud.google.com/datacatalogentry_v1alpha1.json new file mode 100644 index 00000000..1600dae8 --- /dev/null +++ b/datacatalog.cnrm.cloud.google.com/datacatalogentry_v1alpha1.json @@ -0,0 +1,216 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "description": { + "description": "Entry description, which can consist of several sentences or paragraphs that describe entry contents.", + "type": "string" + }, + "displayName": { + "description": "Display information such as title and description. A short name to identify the entry,\nfor example, \"Analytics Data - Jan 2011\".", + "type": "string" + }, + "entryGroup": { + "description": "Immutable. The name of the entry group this entry is in.", + "type": "string" + }, + "entryId": { + "description": "Immutable. The id of the entry to create.", + "type": "string" + }, + "gcsFilesetSpec": { + "description": "Specification that applies to a Cloud Storage fileset. This is only valid on entries of type FILESET.", + "properties": { + "filePatterns": { + "description": "Patterns to identify a set of files in Google Cloud Storage.\nSee [Cloud Storage documentation](https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames)\nfor more information. Note that bucket wildcards are currently not supported. Examples of valid filePatterns:\n\n* gs://bucket_name/dir/*: matches all files within bucket_name/dir directory.\n* gs://bucket_name/dir/**: matches all files in bucket_name/dir spanning all subdirectories.\n* gs://bucket_name/file*: matches files prefixed by file in bucket_name\n* gs://bucket_name/??.txt: matches files with two characters followed by .txt in bucket_name\n* gs://bucket_name/[aeiou].txt: matches files that contain a single vowel character followed by .txt in bucket_name\n* gs://bucket_name/[a-m].txt: matches files that contain a, b, ... or m followed by .txt in bucket_name\n* gs://bucket_name/a/*/b: matches all files in bucket_name that match a/*/b pattern, such as a/c/b, a/d/b\n* gs://another_bucket/a.txt: matches gs://another_bucket/a.txt.", + "items": { + "type": "string" + }, + "type": "array" + }, + "sampleGcsFileSpecs": { + "description": "Sample files contained in this fileset, not all files contained in this fileset are represented here.", + "items": { + "properties": { + "filePath": { + "description": "The full file path.", + "type": "string" + }, + "sizeBytes": { + "description": "The size of the file, in bytes.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "filePatterns" + ], + "type": "object", + "additionalProperties": false + }, + "linkedResource": { + "description": "The resource this metadata entry refers to.\nFor Google Cloud Platform resources, linkedResource is the full name of the resource.\nFor example, the linkedResource for a table resource from BigQuery is:\n//bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId\nOutput only when Entry is of type in the EntryType enum. For entries with userSpecifiedType,\nthis field is optional and defaults to an empty string.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + }, + "schema": { + "description": "Schema of the entry (e.g. BigQuery, GoogleSQL, Avro schema), as a json string. An entry might not have any schema\nattached to it. See\nhttps://cloud.google.com/data-catalog/docs/reference/rest/v1/projects.locations.entryGroups.entries#schema\nfor what fields this schema can contain.", + "type": "string" + }, + "type": { + "description": "Immutable. The type of the entry. Only used for Entries with types in the EntryType enum.\nCurrently, only FILESET enum value is allowed. All other entries created through Data Catalog must use userSpecifiedType. Possible values: [\"FILESET\"].", + "type": "string" + }, + "userSpecifiedSystem": { + "description": "This field indicates the entry's source system that Data Catalog does not integrate with.\nuserSpecifiedSystem strings must begin with a letter or underscore and can only contain letters, numbers,\nand underscores; are case insensitive; must be at least 1 character and at most 64 characters long.", + "type": "string" + }, + "userSpecifiedType": { + "description": "Entry type if it does not fit any of the input-allowed values listed in EntryType enum above.\nWhen creating an entry, users should check the enum values first, if nothing matches the entry\nto be created, then provide a custom value, for example \"my_special_type\".\nuserSpecifiedType strings must begin with a letter or underscore and can only contain letters,\nnumbers, and underscores; are case insensitive; must be at least 1 character and at most 64 characters long.", + "type": "string" + } + }, + "required": [ + "entryGroup", + "entryId" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "bigqueryDateShardedSpec": { + "description": "Specification for a group of BigQuery tables with name pattern [prefix]YYYYMMDD.\nContext: https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding.", + "items": { + "properties": { + "dataset": { + "description": "The Data Catalog resource name of the dataset entry the current table belongs to, for example,\nprojects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/entries/{entryId}.", + "type": "string" + }, + "shardCount": { + "description": "Total number of shards.", + "type": "integer" + }, + "tablePrefix": { + "description": "The table name prefix of the shards. The name of any given shard is [tablePrefix]YYYYMMDD,\nfor example, for shard MyTable20180101, the tablePrefix is MyTable.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "bigqueryTableSpec": { + "description": "Specification that applies to a BigQuery table. This is only valid on entries of type TABLE.", + "items": { + "properties": { + "tableSourceType": { + "description": "The table source type.", + "type": "string" + }, + "tableSpec": { + "description": "Spec of a BigQuery table. This field should only be populated if tableSourceType is BIGQUERY_TABLE.", + "items": { + "properties": { + "groupedEntry": { + "description": "If the table is a dated shard, i.e., with name pattern [prefix]YYYYMMDD, groupedEntry is the\nData Catalog resource name of the date sharded grouped entry, for example,\nprojects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/entries/{entryId}.\nOtherwise, groupedEntry is empty.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "viewSpec": { + "description": "Table view specification. This field should only be populated if tableSourceType is BIGQUERY_VIEW.", + "items": { + "properties": { + "viewQuery": { + "description": "The query that defines the table view.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "integratedSystem": { + "description": "This field indicates the entry's source system that Data Catalog integrates with, such as BigQuery or Pub/Sub.", + "type": "string" + }, + "name": { + "description": "The Data Catalog resource name of the entry in URL format.\nExample: projects/{project_id}/locations/{location}/entryGroups/{entryGroupId}/entries/{entryId}.\nNote that this Entry and its child resources may not actually be stored in the location in this name.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/datacatalog.cnrm.cloud.google.com/datacatalogentrygroup_v1alpha1.json b/datacatalog.cnrm.cloud.google.com/datacatalogentrygroup_v1alpha1.json new file mode 100644 index 00000000..71f8e9e3 --- /dev/null +++ b/datacatalog.cnrm.cloud.google.com/datacatalogentrygroup_v1alpha1.json @@ -0,0 +1,143 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "description": { + "description": "Entry group description, which can consist of several sentences or paragraphs that describe entry group contents.", + "type": "string" + }, + "displayName": { + "description": "A short name to identify the entry group, for example, \"analytics data - jan 2011\".", + "type": "string" + }, + "entryGroupId": { + "description": "Immutable. The id of the entry group to create. The id must begin with a letter or underscore,\ncontain only English letters, numbers and underscores, and be at most 64 characters.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Immutable. EntryGroup location region.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + } + }, + "required": [ + "entryGroupId", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The resource name of the entry group in URL format. Example: projects/{project}/locations/{location}/entryGroups/{entryGroupId}.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/datacatalog.cnrm.cloud.google.com/datacatalogtag_v1alpha1.json b/datacatalog.cnrm.cloud.google.com/datacatalogtag_v1alpha1.json new file mode 100644 index 00000000..d79b7499 --- /dev/null +++ b/datacatalog.cnrm.cloud.google.com/datacatalogtag_v1alpha1.json @@ -0,0 +1,137 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "column": { + "description": "Resources like Entry can have schemas associated with them. This scope allows users to attach tags to an\nindividual column based on that schema.\n\nFor attaching a tag to a nested column, use '.' to separate the column names. Example:\n'outer_column.inner_column'.", + "type": "string" + }, + "fields": { + "description": "This maps the ID of a tag field to the value of and additional information about that field.\nValid field IDs are defined by the tag's template. A tag must have at least 1 field and at most 500 fields.", + "items": { + "properties": { + "boolValue": { + "description": "Holds the value for a tag field with boolean type.", + "type": "boolean" + }, + "displayName": { + "description": "The display name of this field.", + "type": "string" + }, + "doubleValue": { + "description": "Holds the value for a tag field with double type.", + "type": "number" + }, + "enumValue": { + "description": "The display name of the enum value.", + "type": "string" + }, + "fieldName": { + "type": "string" + }, + "order": { + "description": "The order of this field with respect to other fields in this tag. For example, a higher value can indicate\na more important field. The value can be negative. Multiple fields can have the same order, and field orders\nwithin a tag do not have to be sequential.", + "type": "integer" + }, + "stringValue": { + "description": "Holds the value for a tag field with string type.", + "type": "string" + }, + "timestampValue": { + "description": "Holds the value for a tag field with timestamp type.", + "type": "string" + } + }, + "required": [ + "fieldName" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "parent": { + "description": "Immutable. The name of the parent this tag is attached to. This can be the name of an entry or an entry group. If an entry group, the tag will be attached to\nall entries in that group.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + }, + "template": { + "description": "Immutable. The resource name of the tag template that this tag uses. Example:\nprojects/{project_id}/locations/{location}/tagTemplates/{tagTemplateId}\nThis field cannot be modified after creation.", + "type": "string" + } + }, + "required": [ + "fields", + "template" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The resource name of the tag in URL format. Example:\nprojects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/entries/{entryId}/tags/{tag_id} or\nprojects/{project_id}/locations/{location}/entrygroups/{entryGroupId}/tags/{tag_id}\nwhere tag_id is a system-generated identifier. Note that this Tag may not actually be stored in the location in this name.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "templateDisplayname": { + "description": "The display name of the tag template.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/datacatalog.cnrm.cloud.google.com/datacatalogtagtemplate_v1alpha1.json b/datacatalog.cnrm.cloud.google.com/datacatalogtagtemplate_v1alpha1.json new file mode 100644 index 00000000..9eca2361 --- /dev/null +++ b/datacatalog.cnrm.cloud.google.com/datacatalogtagtemplate_v1alpha1.json @@ -0,0 +1,219 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "displayName": { + "description": "The display name for this template.", + "type": "string" + }, + "fields": { + "description": "Set of tag template field IDs and the settings for the field. This set is an exhaustive list of the allowed fields. This set must contain at least one field and at most 500 fields. The change of field_id will be resulting in re-creating of field. The change of primitive_type will be resulting in re-creating of field, however if the field is a required, you cannot update it.", + "items": { + "properties": { + "description": { + "description": "A description for this field.", + "type": "string" + }, + "displayName": { + "description": "The display name for this field.", + "type": "string" + }, + "fieldId": { + "type": "string" + }, + "isRequired": { + "description": "Whether this is a required field. Defaults to false.", + "type": "boolean" + }, + "name": { + "description": "The resource name of the tag template field in URL format. Example: projects/{project_id}/locations/{location}/tagTemplates/{tagTemplateId}/fields/{field}.", + "type": "string" + }, + "order": { + "description": "The order of this field with respect to other fields in this tag template.\nA higher value indicates a more important field. The value can be negative.\nMultiple fields can have the same order, and field orders within a tag do not have to be sequential.", + "type": "integer" + }, + "type": { + "description": "The type of value this tag field can contain.", + "properties": { + "enumType": { + "description": "Represents an enum type.\n Exactly one of 'primitive_type' or 'enum_type' must be set.", + "properties": { + "allowedValues": { + "description": "The set of allowed values for this enum. The display names of the\nvalues must be case-insensitively unique within this set. Currently,\nenum values can only be added to the list of allowed values. Deletion\nand renaming of enum values are not supported.\nCan have up to 500 allowed values.", + "items": { + "properties": { + "displayName": { + "description": "The display name of the enum value.", + "type": "string" + } + }, + "required": [ + "displayName" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "allowedValues" + ], + "type": "object", + "additionalProperties": false + }, + "primitiveType": { + "description": "Represents primitive types - string, bool etc.\n Exactly one of 'primitive_type' or 'enum_type' must be set Possible values: [\"DOUBLE\", \"STRING\", \"BOOL\", \"TIMESTAMP\"].", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "fieldId", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "forceDelete": { + "description": "This confirms the deletion of any possible tags using this template. Must be set to true in order to delete the tag template.", + "type": "boolean" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Immutable. Template location region.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + }, + "tagTemplateId": { + "description": "Immutable. The id of the tag template to create.", + "type": "string" + } + }, + "required": [ + "fields", + "projectRef", + "tagTemplateId" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The resource name of the tag template in URL format. Example: projects/{project_id}/locations/{location}/tagTemplates/{tagTemplateId}.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/dataform.cnrm.cloud.google.com/dataformrepository_v1alpha1.json b/dataform.cnrm.cloud.google.com/dataformrepository_v1alpha1.json new file mode 100644 index 00000000..01ab5bd3 --- /dev/null +++ b/dataform.cnrm.cloud.google.com/dataformrepository_v1alpha1.json @@ -0,0 +1,174 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "gitRemoteSettings": { + "description": "Optional. If set, configures this repository to be linked to a Git remote.", + "properties": { + "authenticationTokenSecretVersion": { + "description": "The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format projects/*/secrets/*/versions/*.", + "type": "string" + }, + "defaultBranch": { + "description": "The Git remote's default branch name.", + "type": "string" + }, + "tokenStatus": { + "description": "Indicates the status of the Git access token. https://cloud.google.com/dataform/reference/rest/v1beta1/projects.locations.repositories#TokenStatus.", + "type": "string" + }, + "url": { + "description": "The Git remote's URL.", + "type": "string" + } + }, + "required": [ + "authenticationTokenSecretVersion", + "defaultBranch", + "url" + ], + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Immutable. A reference to the region.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "workspaceCompilationOverrides": { + "description": "Optional. If set, fields of workspaceCompilationOverrides override the default compilation settings that are specified in dataform.json when creating workspace-scoped compilation results.", + "properties": { + "defaultDatabase": { + "description": "Optional. The default database (Google Cloud project ID).", + "type": "string" + }, + "schemaSuffix": { + "description": "Optional. The suffix that should be appended to all schema (BigQuery dataset ID) names.", + "type": "string" + }, + "tablePrefix": { + "description": "Optional. The prefix that should be prepended to all table names.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "projectRef", + "region" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/datastore.cnrm.cloud.google.com/datastoreindex_v1alpha1.json b/datastore.cnrm.cloud.google.com/datastoreindex_v1alpha1.json new file mode 100644 index 00000000..0cb50779 --- /dev/null +++ b/datastore.cnrm.cloud.google.com/datastoreindex_v1alpha1.json @@ -0,0 +1,158 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "ancestor": { + "description": "Immutable. Policy for including ancestors in the index. Default value: \"NONE\" Possible values: [\"NONE\", \"ALL_ANCESTORS\"].", + "type": "string" + }, + "kind": { + "description": "Immutable. The entity kind which the index applies to.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "properties": { + "description": "Immutable. An ordered list of properties to index on.", + "items": { + "properties": { + "direction": { + "description": "Immutable. The direction the index should optimize for sorting. Possible values: [\"ASCENDING\", \"DESCENDING\"].", + "type": "string" + }, + "name": { + "description": "Immutable. The property name to index.", + "type": "string" + } + }, + "required": [ + "direction", + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated indexId of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + }, + "additionalProperties": false + }, + "required": [ + "kind", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "indexId": { + "description": "The index id.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/datastream.cnrm.cloud.google.com/datastreamconnectionprofile_v1alpha1.json b/datastream.cnrm.cloud.google.com/datastreamconnectionprofile_v1alpha1.json new file mode 100644 index 00000000..9d728111 --- /dev/null +++ b/datastream.cnrm.cloud.google.com/datastreamconnectionprofile_v1alpha1.json @@ -0,0 +1,776 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "bigqueryProfile": { + "description": "BigQuery warehouse profile.", + "type": "object", + "x-kubernetes-preserve-unknown-fields": true + }, + "displayName": { + "description": "Display name.", + "type": "string" + }, + "forwardSshConnectivity": { + "description": "Forward SSH tunnel connectivity.", + "properties": { + "hostname": { + "description": "Hostname for the SSH tunnel.", + "type": "string" + }, + "password": { + "description": "Immutable. SSH password.", + "oneOf": [ + { + "not": { + "required": [ + "valueFrom" + ] + }, + "required": [ + "value" + ] + }, + { + "not": { + "required": [ + "value" + ] + }, + "required": [ + "valueFrom" + ] + } + ], + "properties": { + "value": { + "description": "Value of the field. Cannot be used if 'valueFrom' is specified.", + "type": "string" + }, + "valueFrom": { + "description": "Source for the field's value. Cannot be used if 'value' is specified.", + "properties": { + "secretKeyRef": { + "description": "Reference to a value with the given key in the given Secret in the resource's namespace.", + "properties": { + "key": { + "description": "Key that identifies the value to be extracted.", + "type": "string" + }, + "name": { + "description": "Name of the Secret to extract a value from.", + "type": "string" + } + }, + "required": [ + "name", + "key" + ], + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "port": { + "description": "Port for the SSH tunnel.", + "type": "integer" + }, + "privateKey": { + "description": "Immutable. SSH private key.", + "oneOf": [ + { + "not": { + "required": [ + "valueFrom" + ] + }, + "required": [ + "value" + ] + }, + { + "not": { + "required": [ + "value" + ] + }, + "required": [ + "valueFrom" + ] + } + ], + "properties": { + "value": { + "description": "Value of the field. Cannot be used if 'valueFrom' is specified.", + "type": "string" + }, + "valueFrom": { + "description": "Source for the field's value. Cannot be used if 'value' is specified.", + "properties": { + "secretKeyRef": { + "description": "Reference to a value with the given key in the given Secret in the resource's namespace.", + "properties": { + "key": { + "description": "Key that identifies the value to be extracted.", + "type": "string" + }, + "name": { + "description": "Name of the Secret to extract a value from.", + "type": "string" + } + }, + "required": [ + "name", + "key" + ], + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "username": { + "description": "Username for the SSH tunnel.", + "type": "string" + } + }, + "required": [ + "hostname", + "username" + ], + "type": "object", + "additionalProperties": false + }, + "gcsProfile": { + "description": "Cloud Storage bucket profile.", + "properties": { + "bucket": { + "description": "The Cloud Storage bucket name.", + "type": "string" + }, + "rootPath": { + "description": "The root path inside the Cloud Storage bucket.", + "type": "string" + } + }, + "required": [ + "bucket" + ], + "type": "object", + "additionalProperties": false + }, + "location": { + "description": "Immutable. The name of the location this connection profile is located in.", + "type": "string" + }, + "mysqlProfile": { + "description": "MySQL database profile.", + "properties": { + "hostname": { + "description": "Hostname for the MySQL connection.", + "type": "string" + }, + "password": { + "description": "Password for the MySQL connection.", + "oneOf": [ + { + "not": { + "required": [ + "valueFrom" + ] + }, + "required": [ + "value" + ] + }, + { + "not": { + "required": [ + "value" + ] + }, + "required": [ + "valueFrom" + ] + } + ], + "properties": { + "value": { + "description": "Value of the field. Cannot be used if 'valueFrom' is specified.", + "type": "string" + }, + "valueFrom": { + "description": "Source for the field's value. Cannot be used if 'value' is specified.", + "properties": { + "secretKeyRef": { + "description": "Reference to a value with the given key in the given Secret in the resource's namespace.", + "properties": { + "key": { + "description": "Key that identifies the value to be extracted.", + "type": "string" + }, + "name": { + "description": "Name of the Secret to extract a value from.", + "type": "string" + } + }, + "required": [ + "name", + "key" + ], + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "port": { + "description": "Port for the MySQL connection.", + "type": "integer" + }, + "sslConfig": { + "description": "SSL configuration for the MySQL connection.", + "properties": { + "caCertificate": { + "description": "Immutable. PEM-encoded certificate of the CA that signed the source database\nserver's certificate.", + "oneOf": [ + { + "not": { + "required": [ + "valueFrom" + ] + }, + "required": [ + "value" + ] + }, + { + "not": { + "required": [ + "value" + ] + }, + "required": [ + "valueFrom" + ] + } + ], + "properties": { + "value": { + "description": "Value of the field. Cannot be used if 'valueFrom' is specified.", + "type": "string" + }, + "valueFrom": { + "description": "Source for the field's value. Cannot be used if 'value' is specified.", + "properties": { + "secretKeyRef": { + "description": "Reference to a value with the given key in the given Secret in the resource's namespace.", + "properties": { + "key": { + "description": "Key that identifies the value to be extracted.", + "type": "string" + }, + "name": { + "description": "Name of the Secret to extract a value from.", + "type": "string" + } + }, + "required": [ + "name", + "key" + ], + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "caCertificateSet": { + "description": "Indicates whether the clientKey field is set.", + "type": "boolean" + }, + "clientCertificate": { + "description": "Immutable. PEM-encoded certificate that will be used by the replica to\nauthenticate against the source database server. If this field\nis used then the 'clientKey' and the 'caCertificate' fields are\nmandatory.", + "oneOf": [ + { + "not": { + "required": [ + "valueFrom" + ] + }, + "required": [ + "value" + ] + }, + { + "not": { + "required": [ + "value" + ] + }, + "required": [ + "valueFrom" + ] + } + ], + "properties": { + "value": { + "description": "Value of the field. Cannot be used if 'valueFrom' is specified.", + "type": "string" + }, + "valueFrom": { + "description": "Source for the field's value. Cannot be used if 'value' is specified.", + "properties": { + "secretKeyRef": { + "description": "Reference to a value with the given key in the given Secret in the resource's namespace.", + "properties": { + "key": { + "description": "Key that identifies the value to be extracted.", + "type": "string" + }, + "name": { + "description": "Name of the Secret to extract a value from.", + "type": "string" + } + }, + "required": [ + "name", + "key" + ], + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "clientCertificateSet": { + "description": "Indicates whether the clientCertificate field is set.", + "type": "boolean" + }, + "clientKey": { + "description": "Immutable. PEM-encoded private key associated with the Client Certificate.\nIf this field is used then the 'client_certificate' and the\n'ca_certificate' fields are mandatory.", + "oneOf": [ + { + "not": { + "required": [ + "valueFrom" + ] + }, + "required": [ + "value" + ] + }, + { + "not": { + "required": [ + "value" + ] + }, + "required": [ + "valueFrom" + ] + } + ], + "properties": { + "value": { + "description": "Value of the field. Cannot be used if 'valueFrom' is specified.", + "type": "string" + }, + "valueFrom": { + "description": "Source for the field's value. Cannot be used if 'value' is specified.", + "properties": { + "secretKeyRef": { + "description": "Reference to a value with the given key in the given Secret in the resource's namespace.", + "properties": { + "key": { + "description": "Key that identifies the value to be extracted.", + "type": "string" + }, + "name": { + "description": "Name of the Secret to extract a value from.", + "type": "string" + } + }, + "required": [ + "name", + "key" + ], + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "clientKeySet": { + "description": "Indicates whether the clientKey field is set.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "username": { + "description": "Username for the MySQL connection.", + "type": "string" + } + }, + "required": [ + "hostname", + "password", + "username" + ], + "type": "object", + "additionalProperties": false + }, + "oracleProfile": { + "description": "Oracle database profile.", + "properties": { + "connectionAttributes": { + "additionalProperties": { + "type": "string" + }, + "description": "Connection string attributes.", + "type": "object" + }, + "databaseService": { + "description": "Database for the Oracle connection.", + "type": "string" + }, + "hostname": { + "description": "Hostname for the Oracle connection.", + "type": "string" + }, + "password": { + "description": "Password for the Oracle connection.", + "oneOf": [ + { + "not": { + "required": [ + "valueFrom" + ] + }, + "required": [ + "value" + ] + }, + { + "not": { + "required": [ + "value" + ] + }, + "required": [ + "valueFrom" + ] + } + ], + "properties": { + "value": { + "description": "Value of the field. Cannot be used if 'valueFrom' is specified.", + "type": "string" + }, + "valueFrom": { + "description": "Source for the field's value. Cannot be used if 'value' is specified.", + "properties": { + "secretKeyRef": { + "description": "Reference to a value with the given key in the given Secret in the resource's namespace.", + "properties": { + "key": { + "description": "Key that identifies the value to be extracted.", + "type": "string" + }, + "name": { + "description": "Name of the Secret to extract a value from.", + "type": "string" + } + }, + "required": [ + "name", + "key" + ], + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "port": { + "description": "Port for the Oracle connection.", + "type": "integer" + }, + "username": { + "description": "Username for the Oracle connection.", + "type": "string" + } + }, + "required": [ + "databaseService", + "hostname", + "password", + "username" + ], + "type": "object", + "additionalProperties": false + }, + "postgresqlProfile": { + "description": "PostgreSQL database profile.", + "properties": { + "database": { + "description": "Database for the PostgreSQL connection.", + "type": "string" + }, + "hostname": { + "description": "Hostname for the PostgreSQL connection.", + "type": "string" + }, + "password": { + "description": "Password for the PostgreSQL connection.", + "oneOf": [ + { + "not": { + "required": [ + "valueFrom" + ] + }, + "required": [ + "value" + ] + }, + { + "not": { + "required": [ + "value" + ] + }, + "required": [ + "valueFrom" + ] + } + ], + "properties": { + "value": { + "description": "Value of the field. Cannot be used if 'valueFrom' is specified.", + "type": "string" + }, + "valueFrom": { + "description": "Source for the field's value. Cannot be used if 'value' is specified.", + "properties": { + "secretKeyRef": { + "description": "Reference to a value with the given key in the given Secret in the resource's namespace.", + "properties": { + "key": { + "description": "Key that identifies the value to be extracted.", + "type": "string" + }, + "name": { + "description": "Name of the Secret to extract a value from.", + "type": "string" + } + }, + "required": [ + "name", + "key" + ], + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "port": { + "description": "Port for the PostgreSQL connection.", + "type": "integer" + }, + "username": { + "description": "Username for the PostgreSQL connection.", + "type": "string" + } + }, + "required": [ + "database", + "hostname", + "password", + "username" + ], + "type": "object", + "additionalProperties": false + }, + "privateConnectivity": { + "description": "Private connectivity.", + "properties": { + "privateConnection": { + "description": "A reference to a private connection resource. Format: 'projects/{project}/locations/{location}/privateConnections/{name}'.", + "type": "string" + } + }, + "required": [ + "privateConnection" + ], + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The connectionProfileId of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "displayName", + "location", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The resource's name.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/datastream.cnrm.cloud.google.com/datastreamprivateconnection_v1alpha1.json b/datastream.cnrm.cloud.google.com/datastreamprivateconnection_v1alpha1.json new file mode 100644 index 00000000..90b18577 --- /dev/null +++ b/datastream.cnrm.cloud.google.com/datastreamprivateconnection_v1alpha1.json @@ -0,0 +1,181 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "displayName": { + "description": "Immutable. Display name.", + "type": "string" + }, + "location": { + "description": "Immutable. The name of the location this private connection is located in.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The privateConnectionId of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "vpcPeeringConfig": { + "description": "Immutable. The VPC Peering configuration is used to create VPC peering\nbetween Datastream and the consumer's VPC.", + "properties": { + "subnet": { + "description": "Immutable. A free subnet for peering. (CIDR of /29).", + "type": "string" + }, + "vpc": { + "description": "Immutable. Fully qualified name of the VPC that Datastream will peer to.\nFormat: projects/{project}/global/{networks}/{name}.", + "type": "string" + } + }, + "required": [ + "subnet", + "vpc" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "displayName", + "location", + "projectRef", + "vpcPeeringConfig" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "error": { + "description": "The PrivateConnection error in case of failure.", + "items": { + "properties": { + "details": { + "additionalProperties": { + "type": "string" + }, + "description": "A list of messages that carry the error details.", + "type": "object" + }, + "message": { + "description": "A message containing more information about the error that occurred.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The resource's name.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "state": { + "description": "State of the PrivateConnection.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/datastream.cnrm.cloud.google.com/datastreamstream_v1alpha1.json b/datastream.cnrm.cloud.google.com/datastreamstream_v1alpha1.json new file mode 100644 index 00000000..489ab582 --- /dev/null +++ b/datastream.cnrm.cloud.google.com/datastreamstream_v1alpha1.json @@ -0,0 +1,1123 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "backfillAll": { + "description": "Backfill strategy to automatically backfill the Stream's objects. Specific objects can be excluded.", + "properties": { + "mysqlExcludedObjects": { + "description": "MySQL data source objects to avoid backfilling.", + "properties": { + "mysqlDatabases": { + "description": "MySQL databases on the server.", + "items": { + "properties": { + "database": { + "description": "Database name.", + "type": "string" + }, + "mysqlTables": { + "description": "Tables in the database.", + "items": { + "properties": { + "mysqlColumns": { + "description": "MySQL columns in the schema. When unspecified as part of include/exclude objects, includes/excludes everything.", + "items": { + "properties": { + "collation": { + "description": "Column collation.", + "type": "string" + }, + "column": { + "description": "Column name.", + "type": "string" + }, + "dataType": { + "description": "The MySQL data type. Full data types list can be found here:\nhttps://dev.mysql.com/doc/refman/8.0/en/data-types.html.", + "type": "string" + }, + "length": { + "description": "Column length.", + "type": "integer" + }, + "nullable": { + "description": "Whether or not the column can accept a null value.", + "type": "boolean" + }, + "ordinalPosition": { + "description": "The ordinal position of the column in the table.", + "type": "integer" + }, + "primaryKey": { + "description": "Whether or not the column represents a primary key.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "table": { + "description": "Table name.", + "type": "string" + } + }, + "required": [ + "table" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "database" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "mysqlDatabases" + ], + "type": "object", + "additionalProperties": false + }, + "oracleExcludedObjects": { + "description": "PostgreSQL data source objects to avoid backfilling.", + "properties": { + "oracleSchemas": { + "description": "Oracle schemas/databases in the database server.", + "items": { + "properties": { + "oracleTables": { + "description": "Tables in the database.", + "items": { + "properties": { + "oracleColumns": { + "description": "Oracle columns in the schema. When unspecified as part of include/exclude objects, includes/excludes everything.", + "items": { + "properties": { + "column": { + "description": "Column name.", + "type": "string" + }, + "dataType": { + "description": "The Oracle data type. Full data types list can be found here:\nhttps://docs.oracle.com/en/database/oracle/oracle-database/21/sqlrf/Data-Types.html.", + "type": "string" + }, + "encoding": { + "description": "Column encoding.", + "type": "string" + }, + "length": { + "description": "Column length.", + "type": "integer" + }, + "nullable": { + "description": "Whether or not the column can accept a null value.", + "type": "boolean" + }, + "ordinalPosition": { + "description": "The ordinal position of the column in the table.", + "type": "integer" + }, + "precision": { + "description": "Column precision.", + "type": "integer" + }, + "primaryKey": { + "description": "Whether or not the column represents a primary key.", + "type": "boolean" + }, + "scale": { + "description": "Column scale.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "table": { + "description": "Table name.", + "type": "string" + } + }, + "required": [ + "table" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "schema": { + "description": "Schema name.", + "type": "string" + } + }, + "required": [ + "schema" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "oracleSchemas" + ], + "type": "object", + "additionalProperties": false + }, + "postgresqlExcludedObjects": { + "description": "PostgreSQL data source objects to avoid backfilling.", + "properties": { + "postgresqlSchemas": { + "description": "PostgreSQL schemas on the server.", + "items": { + "properties": { + "postgresqlTables": { + "description": "Tables in the schema.", + "items": { + "properties": { + "postgresqlColumns": { + "description": "PostgreSQL columns in the schema. When unspecified as part of include/exclude objects, includes/excludes everything.", + "items": { + "properties": { + "column": { + "description": "Column name.", + "type": "string" + }, + "dataType": { + "description": "The PostgreSQL data type. Full data types list can be found here:\nhttps://www.postgresql.org/docs/current/datatype.html.", + "type": "string" + }, + "length": { + "description": "Column length.", + "type": "integer" + }, + "nullable": { + "description": "Whether or not the column can accept a null value.", + "type": "boolean" + }, + "ordinalPosition": { + "description": "The ordinal position of the column in the table.", + "type": "integer" + }, + "precision": { + "description": "Column precision.", + "type": "integer" + }, + "primaryKey": { + "description": "Whether or not the column represents a primary key.", + "type": "boolean" + }, + "scale": { + "description": "Column scale.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "table": { + "description": "Table name.", + "type": "string" + } + }, + "required": [ + "table" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "schema": { + "description": "Database name.", + "type": "string" + } + }, + "required": [ + "schema" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "postgresqlSchemas" + ], + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "backfillNone": { + "description": "Backfill strategy to disable automatic backfill for the Stream's objects.", + "type": "object", + "x-kubernetes-preserve-unknown-fields": true + }, + "customerManagedEncryptionKey": { + "description": "Immutable. A reference to a KMS encryption key. If provided, it will be used to encrypt the data. If left blank, data\nwill be encrypted using an internal Stream-specific encryption key provisioned through KMS.", + "type": "string" + }, + "desiredState": { + "description": "Desired state of the Stream. Set this field to 'RUNNING' to start the stream, and 'PAUSED' to pause the stream.", + "type": "string" + }, + "destinationConfig": { + "description": "Destination connection profile configuration.", + "properties": { + "bigqueryDestinationConfig": { + "description": "A configuration for how data should be loaded to Cloud Storage.", + "properties": { + "dataFreshness": { + "description": "The guaranteed data freshness (in seconds) when querying tables created by the stream.\nEditing this field will only affect new tables created in the future, but existing tables\nwill not be impacted. Lower values mean that queries will return fresher data, but may result in higher cost.\nA duration in seconds with up to nine fractional digits, terminated by 's'. Example: \"3.5s\". Defaults to 900s.", + "type": "string" + }, + "singleTargetDataset": { + "description": "A single target dataset to which all data will be streamed.", + "properties": { + "datasetId": { + "description": "Dataset ID in the format projects/{project}/datasets/{dataset_id} or\n{project}:{dataset_id}.", + "type": "string" + } + }, + "required": [ + "datasetId" + ], + "type": "object", + "additionalProperties": false + }, + "sourceHierarchyDatasets": { + "description": "Destination datasets are created so that hierarchy of the destination data objects matches the source hierarchy.", + "properties": { + "datasetTemplate": { + "description": "Dataset template used for dynamic dataset creation.", + "properties": { + "datasetIdPrefix": { + "description": "If supplied, every created dataset will have its name prefixed by the provided value.\nThe prefix and name will be separated by an underscore. i.e. _.", + "type": "string" + }, + "kmsKeyName": { + "description": "Immutable. Describes the Cloud KMS encryption key that will be used to protect destination BigQuery\ntable. The BigQuery Service Account associated with your project requires access to this\nencryption key. i.e. projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{cryptoKey}.\nSee https://cloud.google.com/bigquery/docs/customer-managed-encryption for more information.", + "type": "string" + }, + "location": { + "description": "The geographic location where the dataset should reside.\nSee https://cloud.google.com/bigquery/docs/locations for supported locations.", + "type": "string" + } + }, + "required": [ + "location" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "datasetTemplate" + ], + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "destinationConnectionProfile": { + "description": "Immutable. Destination connection profile resource. Format: projects/{project}/locations/{location}/connectionProfiles/{name}.", + "type": "string" + }, + "gcsDestinationConfig": { + "description": "A configuration for how data should be loaded to Cloud Storage.", + "properties": { + "avroFileFormat": { + "description": "AVRO file format configuration.", + "type": "object", + "x-kubernetes-preserve-unknown-fields": true + }, + "fileRotationInterval": { + "description": "The maximum duration for which new events are added before a file is closed and a new file is created.\nA duration in seconds with up to nine fractional digits, terminated by 's'. Example: \"3.5s\". Defaults to 900s.", + "type": "string" + }, + "fileRotationMb": { + "description": "The maximum file size to be saved in the bucket.", + "type": "integer" + }, + "jsonFileFormat": { + "description": "JSON file format configuration.", + "properties": { + "compression": { + "description": "Compression of the loaded JSON file. Possible values: [\"NO_COMPRESSION\", \"GZIP\"].", + "type": "string" + }, + "schemaFileFormat": { + "description": "The schema file format along JSON data files. Possible values: [\"NO_SCHEMA_FILE\", \"AVRO_SCHEMA_FILE\"].", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "path": { + "description": "Path inside the Cloud Storage bucket to write data to.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "destinationConnectionProfile" + ], + "type": "object", + "additionalProperties": false + }, + "displayName": { + "description": "Display name.", + "type": "string" + }, + "location": { + "description": "Immutable. The name of the location this stream is located in.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The streamId of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "sourceConfig": { + "description": "Source connection profile configuration.", + "properties": { + "mysqlSourceConfig": { + "description": "MySQL data source configuration.", + "properties": { + "excludeObjects": { + "description": "MySQL objects to exclude from the stream.", + "properties": { + "mysqlDatabases": { + "description": "MySQL databases on the server.", + "items": { + "properties": { + "database": { + "description": "Database name.", + "type": "string" + }, + "mysqlTables": { + "description": "Tables in the database.", + "items": { + "properties": { + "mysqlColumns": { + "description": "MySQL columns in the schema. When unspecified as part of include/exclude objects, includes/excludes everything.", + "items": { + "properties": { + "collation": { + "description": "Column collation.", + "type": "string" + }, + "column": { + "description": "Column name.", + "type": "string" + }, + "dataType": { + "description": "The MySQL data type. Full data types list can be found here:\nhttps://dev.mysql.com/doc/refman/8.0/en/data-types.html.", + "type": "string" + }, + "length": { + "description": "Column length.", + "type": "integer" + }, + "nullable": { + "description": "Whether or not the column can accept a null value.", + "type": "boolean" + }, + "ordinalPosition": { + "description": "The ordinal position of the column in the table.", + "type": "integer" + }, + "primaryKey": { + "description": "Whether or not the column represents a primary key.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "table": { + "description": "Table name.", + "type": "string" + } + }, + "required": [ + "table" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "database" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "mysqlDatabases" + ], + "type": "object", + "additionalProperties": false + }, + "includeObjects": { + "description": "MySQL objects to retrieve from the source.", + "properties": { + "mysqlDatabases": { + "description": "MySQL databases on the server.", + "items": { + "properties": { + "database": { + "description": "Database name.", + "type": "string" + }, + "mysqlTables": { + "description": "Tables in the database.", + "items": { + "properties": { + "mysqlColumns": { + "description": "MySQL columns in the schema. When unspecified as part of include/exclude objects, includes/excludes everything.", + "items": { + "properties": { + "collation": { + "description": "Column collation.", + "type": "string" + }, + "column": { + "description": "Column name.", + "type": "string" + }, + "dataType": { + "description": "The MySQL data type. Full data types list can be found here:\nhttps://dev.mysql.com/doc/refman/8.0/en/data-types.html.", + "type": "string" + }, + "length": { + "description": "Column length.", + "type": "integer" + }, + "nullable": { + "description": "Whether or not the column can accept a null value.", + "type": "boolean" + }, + "ordinalPosition": { + "description": "The ordinal position of the column in the table.", + "type": "integer" + }, + "primaryKey": { + "description": "Whether or not the column represents a primary key.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "table": { + "description": "Table name.", + "type": "string" + } + }, + "required": [ + "table" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "database" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "mysqlDatabases" + ], + "type": "object", + "additionalProperties": false + }, + "maxConcurrentBackfillTasks": { + "description": "Maximum number of concurrent backfill tasks. The number should be non negative.\nIf not set (or set to 0), the system's default value will be used.", + "type": "integer" + }, + "maxConcurrentCdcTasks": { + "description": "Maximum number of concurrent CDC tasks. The number should be non negative.\nIf not set (or set to 0), the system's default value will be used.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + }, + "oracleSourceConfig": { + "description": "MySQL data source configuration.", + "properties": { + "dropLargeObjects": { + "description": "Configuration to drop large object values.", + "type": "object", + "x-kubernetes-preserve-unknown-fields": true + }, + "excludeObjects": { + "description": "Oracle objects to exclude from the stream.", + "properties": { + "oracleSchemas": { + "description": "Oracle schemas/databases in the database server.", + "items": { + "properties": { + "oracleTables": { + "description": "Tables in the database.", + "items": { + "properties": { + "oracleColumns": { + "description": "Oracle columns in the schema. When unspecified as part of include/exclude objects, includes/excludes everything.", + "items": { + "properties": { + "column": { + "description": "Column name.", + "type": "string" + }, + "dataType": { + "description": "The Oracle data type. Full data types list can be found here:\nhttps://docs.oracle.com/en/database/oracle/oracle-database/21/sqlrf/Data-Types.html.", + "type": "string" + }, + "encoding": { + "description": "Column encoding.", + "type": "string" + }, + "length": { + "description": "Column length.", + "type": "integer" + }, + "nullable": { + "description": "Whether or not the column can accept a null value.", + "type": "boolean" + }, + "ordinalPosition": { + "description": "The ordinal position of the column in the table.", + "type": "integer" + }, + "precision": { + "description": "Column precision.", + "type": "integer" + }, + "primaryKey": { + "description": "Whether or not the column represents a primary key.", + "type": "boolean" + }, + "scale": { + "description": "Column scale.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "table": { + "description": "Table name.", + "type": "string" + } + }, + "required": [ + "table" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "schema": { + "description": "Schema name.", + "type": "string" + } + }, + "required": [ + "schema" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "oracleSchemas" + ], + "type": "object", + "additionalProperties": false + }, + "includeObjects": { + "description": "Oracle objects to retrieve from the source.", + "properties": { + "oracleSchemas": { + "description": "Oracle schemas/databases in the database server.", + "items": { + "properties": { + "oracleTables": { + "description": "Tables in the database.", + "items": { + "properties": { + "oracleColumns": { + "description": "Oracle columns in the schema. When unspecified as part of include/exclude objects, includes/excludes everything.", + "items": { + "properties": { + "column": { + "description": "Column name.", + "type": "string" + }, + "dataType": { + "description": "The Oracle data type. Full data types list can be found here:\nhttps://docs.oracle.com/en/database/oracle/oracle-database/21/sqlrf/Data-Types.html.", + "type": "string" + }, + "encoding": { + "description": "Column encoding.", + "type": "string" + }, + "length": { + "description": "Column length.", + "type": "integer" + }, + "nullable": { + "description": "Whether or not the column can accept a null value.", + "type": "boolean" + }, + "ordinalPosition": { + "description": "The ordinal position of the column in the table.", + "type": "integer" + }, + "precision": { + "description": "Column precision.", + "type": "integer" + }, + "primaryKey": { + "description": "Whether or not the column represents a primary key.", + "type": "boolean" + }, + "scale": { + "description": "Column scale.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "table": { + "description": "Table name.", + "type": "string" + } + }, + "required": [ + "table" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "schema": { + "description": "Schema name.", + "type": "string" + } + }, + "required": [ + "schema" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "oracleSchemas" + ], + "type": "object", + "additionalProperties": false + }, + "maxConcurrentBackfillTasks": { + "description": "Maximum number of concurrent backfill tasks. The number should be non negative.\nIf not set (or set to 0), the system's default value will be used.", + "type": "integer" + }, + "maxConcurrentCdcTasks": { + "description": "Maximum number of concurrent CDC tasks. The number should be non negative.\nIf not set (or set to 0), the system's default value will be used.", + "type": "integer" + }, + "streamLargeObjects": { + "description": "Configuration to drop large object values.", + "type": "object", + "x-kubernetes-preserve-unknown-fields": true + } + }, + "type": "object", + "additionalProperties": false + }, + "postgresqlSourceConfig": { + "description": "PostgreSQL data source configuration.", + "properties": { + "excludeObjects": { + "description": "PostgreSQL objects to exclude from the stream.", + "properties": { + "postgresqlSchemas": { + "description": "PostgreSQL schemas on the server.", + "items": { + "properties": { + "postgresqlTables": { + "description": "Tables in the schema.", + "items": { + "properties": { + "postgresqlColumns": { + "description": "PostgreSQL columns in the schema. When unspecified as part of include/exclude objects, includes/excludes everything.", + "items": { + "properties": { + "column": { + "description": "Column name.", + "type": "string" + }, + "dataType": { + "description": "The PostgreSQL data type. Full data types list can be found here:\nhttps://www.postgresql.org/docs/current/datatype.html.", + "type": "string" + }, + "length": { + "description": "Column length.", + "type": "integer" + }, + "nullable": { + "description": "Whether or not the column can accept a null value.", + "type": "boolean" + }, + "ordinalPosition": { + "description": "The ordinal position of the column in the table.", + "type": "integer" + }, + "precision": { + "description": "Column precision.", + "type": "integer" + }, + "primaryKey": { + "description": "Whether or not the column represents a primary key.", + "type": "boolean" + }, + "scale": { + "description": "Column scale.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "table": { + "description": "Table name.", + "type": "string" + } + }, + "required": [ + "table" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "schema": { + "description": "Database name.", + "type": "string" + } + }, + "required": [ + "schema" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "postgresqlSchemas" + ], + "type": "object", + "additionalProperties": false + }, + "includeObjects": { + "description": "PostgreSQL objects to retrieve from the source.", + "properties": { + "postgresqlSchemas": { + "description": "PostgreSQL schemas on the server.", + "items": { + "properties": { + "postgresqlTables": { + "description": "Tables in the schema.", + "items": { + "properties": { + "postgresqlColumns": { + "description": "PostgreSQL columns in the schema. When unspecified as part of include/exclude objects, includes/excludes everything.", + "items": { + "properties": { + "column": { + "description": "Column name.", + "type": "string" + }, + "dataType": { + "description": "The PostgreSQL data type. Full data types list can be found here:\nhttps://www.postgresql.org/docs/current/datatype.html.", + "type": "string" + }, + "length": { + "description": "Column length.", + "type": "integer" + }, + "nullable": { + "description": "Whether or not the column can accept a null value.", + "type": "boolean" + }, + "ordinalPosition": { + "description": "The ordinal position of the column in the table.", + "type": "integer" + }, + "precision": { + "description": "Column precision.", + "type": "integer" + }, + "primaryKey": { + "description": "Whether or not the column represents a primary key.", + "type": "boolean" + }, + "scale": { + "description": "Column scale.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "table": { + "description": "Table name.", + "type": "string" + } + }, + "required": [ + "table" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "schema": { + "description": "Database name.", + "type": "string" + } + }, + "required": [ + "schema" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "postgresqlSchemas" + ], + "type": "object", + "additionalProperties": false + }, + "maxConcurrentBackfillTasks": { + "description": "Maximum number of concurrent backfill tasks. The number should be non\nnegative. If not set (or set to 0), the system's default value will be used.", + "type": "integer" + }, + "publication": { + "description": "The name of the publication that includes the set of all tables\nthat are defined in the stream's include_objects.", + "type": "string" + }, + "replicationSlot": { + "description": "The name of the logical replication slot that's configured with\nthe pgoutput plugin.", + "type": "string" + } + }, + "required": [ + "publication", + "replicationSlot" + ], + "type": "object", + "additionalProperties": false + }, + "sourceConnectionProfile": { + "description": "Immutable. Source connection profile resource. Format: projects/{project}/locations/{location}/connectionProfiles/{name}.", + "type": "string" + } + }, + "required": [ + "sourceConnectionProfile" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "destinationConfig", + "displayName", + "location", + "projectRef", + "sourceConfig" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The stream's name.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "state": { + "description": "The state of the stream.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/deploymentmanager.cnrm.cloud.google.com/deploymentmanagerdeployment_v1alpha1.json b/deploymentmanager.cnrm.cloud.google.com/deploymentmanagerdeployment_v1alpha1.json new file mode 100644 index 00000000..98132f63 --- /dev/null +++ b/deploymentmanager.cnrm.cloud.google.com/deploymentmanagerdeployment_v1alpha1.json @@ -0,0 +1,192 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "createPolicy": { + "description": "Immutable. Set the policy to use for creating new resources. Only used on\ncreate and update. Valid values are 'CREATE_OR_ACQUIRE' (default) or\n'ACQUIRE'. If set to 'ACQUIRE' and resources do not already exist,\nthe deployment will fail. Note that updating this field does not\nactually affect the deployment, just how it is updated. Default value: \"CREATE_OR_ACQUIRE\" Possible values: [\"ACQUIRE\", \"CREATE_OR_ACQUIRE\"].", + "type": "string" + }, + "deletePolicy": { + "description": "Immutable. Set the policy to use for deleting new resources on update/delete.\nValid values are 'DELETE' (default) or 'ABANDON'. If 'DELETE',\nresource is deleted after removal from Deployment Manager. If\n'ABANDON', the resource is only removed from Deployment Manager\nand is not actually deleted. Note that updating this field does not\nactually change the deployment, just how it is updated. Default value: \"DELETE\" Possible values: [\"ABANDON\", \"DELETE\"].", + "type": "string" + }, + "description": { + "description": "Optional user-provided description of deployment.", + "type": "string" + }, + "preview": { + "type": "boolean" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "target": { + "description": "Parameters that define your deployment, including the deployment\nconfiguration and relevant templates.", + "properties": { + "config": { + "description": "The root configuration file to use for this deployment.", + "properties": { + "content": { + "description": "The full YAML contents of your configuration file.", + "type": "string" + } + }, + "required": [ + "content" + ], + "type": "object", + "additionalProperties": false + }, + "imports": { + "description": "Specifies import files for this configuration. This can be\nused to import templates or other files. For example, you might\nimport a text file in order to use the file in a template.", + "items": { + "properties": { + "content": { + "description": "The full contents of the template that you want to import.", + "type": "string" + }, + "name": { + "description": "The name of the template to import, as declared in the YAML\nconfiguration.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "config" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "projectRef", + "target" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "deploymentId": { + "description": "Unique identifier for deployment. Output only.", + "type": "string" + }, + "manifest": { + "description": "Output only. URL of the manifest representing the last manifest that\nwas successfully deployed.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "selfLink": { + "description": "Output only. Server defined URL for the resource.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/dialogflow.cnrm.cloud.google.com/dialogflowagent_v1alpha1.json b/dialogflow.cnrm.cloud.google.com/dialogflowagent_v1alpha1.json new file mode 100644 index 00000000..abbd2baf --- /dev/null +++ b/dialogflow.cnrm.cloud.google.com/dialogflowagent_v1alpha1.json @@ -0,0 +1,124 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "apiVersion": { + "description": "API version displayed in Dialogflow console. If not specified, V2 API is assumed. Clients are free to query\ndifferent service endpoints for different API versions. However, bots connectors and webhook calls will follow\nthe specified API version.\n* API_VERSION_V1: Legacy V1 API.\n* API_VERSION_V2: V2 API.\n* API_VERSION_V2_BETA_1: V2beta1 API. Possible values: [\"API_VERSION_V1\", \"API_VERSION_V2\", \"API_VERSION_V2_BETA_1\"].", + "type": "string" + }, + "avatarUri": { + "description": "The URI of the agent's avatar, which are used throughout the Dialogflow console. When an image URL is entered\ninto this field, the Dialogflow will save the image in the backend. The address of the backend image returned\nfrom the API will be shown in the [avatarUriBackend] field.", + "type": "string" + }, + "classificationThreshold": { + "description": "To filter out false positive results and still get variety in matched natural language inputs for your agent,\nyou can tune the machine learning classification threshold. If the returned score value is less than the threshold\nvalue, then a fallback intent will be triggered or, if there are no fallback intents defined, no intent will be\ntriggered. The score values range from 0.0 (completely uncertain) to 1.0 (completely certain). If set to 0.0, the\ndefault of 0.3 is used.", + "type": "number" + }, + "defaultLanguageCode": { + "description": "Immutable. The default language of the agent as a language tag. [See Language Support](https://cloud.google.com/dialogflow/docs/reference/language)\nfor a list of the currently supported language codes. This field cannot be updated after creation.", + "type": "string" + }, + "description": { + "description": "The description of this agent. The maximum length is 500 characters. If exceeded, the request is rejected.", + "type": "string" + }, + "displayName": { + "description": "The name of this agent.", + "type": "string" + }, + "enableLogging": { + "description": "Determines whether this agent should log conversation queries.", + "type": "boolean" + }, + "matchMode": { + "description": "Determines how intents are detected from user queries.\n* MATCH_MODE_HYBRID: Best for agents with a small number of examples in intents and/or wide use of templates\nsyntax and composite entities.\n* MATCH_MODE_ML_ONLY: Can be used for agents with a large number of examples in intents, especially the ones\nusing @sys.any or very large developer entities. Possible values: [\"MATCH_MODE_HYBRID\", \"MATCH_MODE_ML_ONLY\"].", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The project of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "supportedLanguageCodes": { + "description": "The list of all languages supported by this agent (except for the defaultLanguageCode).", + "items": { + "type": "string" + }, + "type": "array" + }, + "tier": { + "type": "string" + }, + "timeZone": { + "description": "The time zone of this agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York,\nEurope/Paris.", + "type": "string" + } + }, + "required": [ + "defaultLanguageCode", + "displayName", + "timeZone" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "avatarUriBackend": { + "description": "The URI of the agent's avatar as returned from the API. Output only. To provide an image URL for the agent avatar,\nthe [avatarUri] field can be used.", + "type": "string" + }, + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/dialogflow.cnrm.cloud.google.com/dialogflowentitytype_v1alpha1.json b/dialogflow.cnrm.cloud.google.com/dialogflowentitytype_v1alpha1.json new file mode 100644 index 00000000..6400276f --- /dev/null +++ b/dialogflow.cnrm.cloud.google.com/dialogflowentitytype_v1alpha1.json @@ -0,0 +1,165 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "displayName": { + "description": "The name of this entity type to be displayed on the console.", + "type": "string" + }, + "enableFuzzyExtraction": { + "description": "Enables fuzzy entity extraction during classification.", + "type": "boolean" + }, + "entities": { + "description": "The collection of entity entries associated with the entity type.", + "items": { + "properties": { + "synonyms": { + "description": "A collection of value synonyms. For example, if the entity type is vegetable, and value is scallions, a synonym\ncould be green onions.\nFor KIND_LIST entity types:\n* This collection must contain exactly one synonym equal to value.", + "items": { + "type": "string" + }, + "type": "array" + }, + "value": { + "description": "The primary value associated with this entity entry. For example, if the entity type is vegetable, the value\ncould be scallions.\nFor KIND_MAP entity types:\n* A reference value to be used in place of synonyms.\nFor KIND_LIST entity types:\n* A string that can contain references to other entity types (with or without aliases).", + "type": "string" + } + }, + "required": [ + "synonyms", + "value" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "kind": { + "description": "Indicates the kind of entity type.\n* KIND_MAP: Map entity types allow mapping of a group of synonyms to a reference value.\n* KIND_LIST: List entity types contain a set of entries that do not map to reference values. However, list entity\ntypes can contain references to other entity types (with or without aliases).\n* KIND_REGEXP: Regexp entity types allow to specify regular expressions in entries values. Possible values: [\"KIND_MAP\", \"KIND_LIST\", \"KIND_REGEXP\"].", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + } + }, + "required": [ + "displayName", + "kind", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The unique identifier of the entity type.\nFormat: projects//agent/entityTypes/.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/dialogflow.cnrm.cloud.google.com/dialogflowfulfillment_v1alpha1.json b/dialogflow.cnrm.cloud.google.com/dialogflowfulfillment_v1alpha1.json new file mode 100644 index 00000000..c817662a --- /dev/null +++ b/dialogflow.cnrm.cloud.google.com/dialogflowfulfillment_v1alpha1.json @@ -0,0 +1,181 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "displayName": { + "description": "The human-readable name of the fulfillment, unique within the agent.", + "type": "string" + }, + "enabled": { + "description": "Whether fulfillment is enabled.", + "type": "boolean" + }, + "features": { + "description": "The field defines whether the fulfillment is enabled for certain features.", + "items": { + "properties": { + "type": { + "description": "The type of the feature that enabled for fulfillment.\n* SMALLTALK: Fulfillment is enabled for SmallTalk. Possible values: [\"SMALLTALK\"].", + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "genericWebService": { + "description": "Represents configuration for a generic web service. Dialogflow supports two mechanisms for authentications: - Basic authentication with username and password. - Authentication with additional authentication headers.", + "properties": { + "password": { + "description": "The password for HTTP Basic authentication.", + "type": "string" + }, + "requestHeaders": { + "additionalProperties": { + "type": "string" + }, + "description": "The HTTP request headers to send together with fulfillment requests.", + "type": "object" + }, + "uri": { + "description": "The fulfillment URI for receiving POST requests. It must use https protocol.", + "type": "string" + }, + "username": { + "description": "The user name for HTTP Basic authentication.", + "type": "string" + } + }, + "required": [ + "uri" + ], + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + } + }, + "required": [ + "displayName", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The unique identifier of the fulfillment.\nFormat: projects//agent/fulfillment - projects//locations//agent/fulfillment.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/dialogflow.cnrm.cloud.google.com/dialogflowintent_v1alpha1.json b/dialogflow.cnrm.cloud.google.com/dialogflowintent_v1alpha1.json new file mode 100644 index 00000000..ac226334 --- /dev/null +++ b/dialogflow.cnrm.cloud.google.com/dialogflowintent_v1alpha1.json @@ -0,0 +1,202 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "action": { + "description": "The name of the action associated with the intent.\nNote: The action name must not contain whitespaces.", + "type": "string" + }, + "defaultResponsePlatforms": { + "description": "The list of platforms for which the first responses will be copied from the messages in PLATFORM_UNSPECIFIED\n(i.e. default platform). Possible values: [\"FACEBOOK\", \"SLACK\", \"TELEGRAM\", \"KIK\", \"SKYPE\", \"LINE\", \"VIBER\", \"ACTIONS_ON_GOOGLE\", \"GOOGLE_HANGOUTS\"].", + "items": { + "type": "string" + }, + "type": "array" + }, + "displayName": { + "description": "The name of this intent to be displayed on the console.", + "type": "string" + }, + "events": { + "description": "The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of\nthe contexts must be present in the active user session for an event to trigger this intent. See the\n[events reference](https://cloud.google.com/dialogflow/docs/events-overview) for more details.", + "items": { + "type": "string" + }, + "type": "array" + }, + "inputContextNames": { + "description": "The list of context names required for this intent to be triggered.\nFormat: projects//agent/sessions/-/contexts/.", + "items": { + "type": "string" + }, + "type": "array" + }, + "isFallback": { + "description": "Indicates whether this is a fallback intent.", + "type": "boolean" + }, + "mlDisabled": { + "description": "Indicates whether Machine Learning is disabled for the intent.\nNote: If mlDisabled setting is set to true, then this intent is not taken into account during inference in ML\nONLY match mode. Also, auto-markup in the UI is turned off.", + "type": "boolean" + }, + "parentFollowupIntentName": { + "description": "Immutable. The unique identifier of the parent intent in the chain of followup intents.\nFormat: projects//agent/intents/.", + "type": "string" + }, + "priority": { + "description": "The priority of this intent. Higher numbers represent higher priorities.\n - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds\n to the Normal priority in the console.\n - If the supplied value is negative, the intent is ignored in runtime detect intent requests.", + "type": "integer" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resetContexts": { + "description": "Indicates whether to delete all contexts in the current session when this intent is matched.", + "type": "boolean" + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + }, + "webhookState": { + "description": "Indicates whether webhooks are enabled for the intent.\n* WEBHOOK_STATE_ENABLED: Webhook is enabled in the agent and in the intent.\n* WEBHOOK_STATE_ENABLED_FOR_SLOT_FILLING: Webhook is enabled in the agent and in the intent. Also, each slot\nfilling prompt is forwarded to the webhook. Possible values: [\"WEBHOOK_STATE_ENABLED\", \"WEBHOOK_STATE_ENABLED_FOR_SLOT_FILLING\"].", + "type": "string" + } + }, + "required": [ + "displayName", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "followupIntentInfo": { + "description": "Information about all followup intents that have this intent as a direct or indirect parent. We populate this field\nonly in the output.", + "items": { + "properties": { + "followupIntentName": { + "description": "The unique identifier of the followup intent.\nFormat: projects//agent/intents/.", + "type": "string" + }, + "parentFollowupIntentName": { + "description": "The unique identifier of the followup intent's parent.\nFormat: projects//agent/intents/.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The unique identifier of this intent.\nFormat: projects//agent/intents/.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "rootFollowupIntentName": { + "description": "The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup\nintents chain for this intent.\nFormat: projects//agent/intents/.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/dialogflowcx.cnrm.cloud.google.com/dialogflowcxagent_v1alpha1.json b/dialogflowcx.cnrm.cloud.google.com/dialogflowcxagent_v1alpha1.json new file mode 100644 index 00000000..ca087e84 --- /dev/null +++ b/dialogflowcx.cnrm.cloud.google.com/dialogflowcxagent_v1alpha1.json @@ -0,0 +1,188 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "avatarUri": { + "description": "The URI of the agent's avatar. Avatars are used throughout the Dialogflow console and in the self-hosted Web Demo integration.", + "type": "string" + }, + "defaultLanguageCode": { + "description": "Immutable. The default language of the agent as a language tag. [See Language Support](https://cloud.google.com/dialogflow/cx/docs/reference/language)\nfor a list of the currently supported language codes. This field cannot be updated after creation.", + "type": "string" + }, + "description": { + "description": "The description of this agent. The maximum length is 500 characters. If exceeded, the request is rejected.", + "type": "string" + }, + "displayName": { + "description": "The human-readable name of the agent, unique within the location.", + "type": "string" + }, + "enableSpellCorrection": { + "description": "Indicates if automatic spell correction is enabled in detect intent requests.", + "type": "boolean" + }, + "enableStackdriverLogging": { + "description": "Determines whether this agent should log conversation queries.", + "type": "boolean" + }, + "location": { + "description": "Immutable. The name of the location this agent is located in.\n\n~> **Note:** The first time you are deploying an Agent in your project you must configure location settings.\n This is a one time step but at the moment you can only [configure location settings](https://cloud.google.com/dialogflow/cx/docs/concept/region#location-settings) via the Dialogflow CX console.\n Another options is to use global location so you don't need to manually configure location settings.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + }, + "securitySettings": { + "description": "Name of the SecuritySettings reference for the agent. Format: projects//locations//securitySettings/.", + "type": "string" + }, + "speechToTextSettings": { + "description": "Settings related to speech recognition.", + "properties": { + "enableSpeechAdaptation": { + "description": "Whether to use speech adaptation for speech recognition.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "supportedLanguageCodes": { + "description": "The list of all languages supported by this agent (except for the default_language_code).", + "items": { + "type": "string" + }, + "type": "array" + }, + "timeZone": { + "description": "The time zone of this agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York,\nEurope/Paris.", + "type": "string" + } + }, + "required": [ + "defaultLanguageCode", + "displayName", + "location", + "projectRef", + "timeZone" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The unique identifier of the agent.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "startFlow": { + "description": "Name of the start flow in this agent. A start flow will be automatically created when the agent is created, and can only be deleted by deleting the agent. Format: projects//locations//agents//flows/.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/dialogflowcx.cnrm.cloud.google.com/dialogflowcxentitytype_v1alpha1.json b/dialogflowcx.cnrm.cloud.google.com/dialogflowcxentitytype_v1alpha1.json new file mode 100644 index 00000000..1ced3fb7 --- /dev/null +++ b/dialogflowcx.cnrm.cloud.google.com/dialogflowcxentitytype_v1alpha1.json @@ -0,0 +1,141 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "autoExpansionMode": { + "description": "Represents kinds of entities.\n* AUTO_EXPANSION_MODE_UNSPECIFIED: Auto expansion disabled for the entity.\n* AUTO_EXPANSION_MODE_DEFAULT: Allows an agent to recognize values that have not been explicitly listed in the entity. Possible values: [\"AUTO_EXPANSION_MODE_DEFAULT\", \"AUTO_EXPANSION_MODE_UNSPECIFIED\"].", + "type": "string" + }, + "displayName": { + "description": "The human-readable name of the entity type, unique within the agent.", + "type": "string" + }, + "enableFuzzyExtraction": { + "description": "Enables fuzzy entity extraction during classification.", + "type": "boolean" + }, + "entities": { + "description": "The collection of entity entries associated with the entity type.", + "items": { + "properties": { + "synonyms": { + "description": "A collection of value synonyms. For example, if the entity type is vegetable, and value is scallions, a synonym could be green onions.\nFor KIND_LIST entity types: This collection must contain exactly one synonym equal to value.", + "items": { + "type": "string" + }, + "type": "array" + }, + "value": { + "description": "The primary value associated with this entity entry. For example, if the entity type is vegetable, the value could be scallions.\nFor KIND_MAP entity types: A canonical value to be used in place of synonyms.\nFor KIND_LIST entity types: A string that can contain references to other entity types (with or without aliases).", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "excludedPhrases": { + "description": "Collection of exceptional words and phrases that shouldn't be matched. For example, if you have a size entity type with entry giant(an adjective), you might consider adding giants(a noun) as an exclusion.\nIf the kind of entity type is KIND_MAP, then the phrases specified by entities and excluded phrases should be mutually exclusive.", + "items": { + "properties": { + "value": { + "description": "The word or phrase to be excluded.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "kind": { + "description": "Indicates whether the entity type can be automatically expanded.\n* KIND_MAP: Map entity types allow mapping of a group of synonyms to a canonical value.\n* KIND_LIST: List entity types contain a set of entries that do not map to canonical values. However, list entity types can contain references to other entity types (with or without aliases).\n* KIND_REGEXP: Regexp entity types allow to specify regular expressions in entries values. Possible values: [\"KIND_MAP\", \"KIND_LIST\", \"KIND_REGEXP\"].", + "type": "string" + }, + "languageCode": { + "description": "Immutable. The language of the following fields in entityType:\nEntityType.entities.value\nEntityType.entities.synonyms\nEntityType.excluded_phrases.value\nIf not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used.", + "type": "string" + }, + "parent": { + "description": "Immutable. The agent to create a entity type for.\nFormat: projects//locations//agents/.", + "type": "string" + }, + "redact": { + "description": "Indicates whether parameters of the entity type should be redacted in log. If redaction is enabled, page parameters and intent parameters referring to the entity type will be replaced by parameter name when logging.", + "type": "boolean" + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + } + }, + "required": [ + "displayName", + "entities", + "kind" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The unique identifier of the entity type.\nFormat: projects//locations//agents//entityTypes/.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/dialogflowcx.cnrm.cloud.google.com/dialogflowcxflow_v1alpha1.json b/dialogflowcx.cnrm.cloud.google.com/dialogflowcxflow_v1alpha1.json new file mode 100644 index 00000000..e501922f --- /dev/null +++ b/dialogflowcx.cnrm.cloud.google.com/dialogflowcxflow_v1alpha1.json @@ -0,0 +1,494 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "description": { + "description": "The description of the flow. The maximum length is 500 characters. If exceeded, the request is rejected.", + "type": "string" + }, + "displayName": { + "description": "The human-readable name of the flow.", + "type": "string" + }, + "eventHandlers": { + "description": "A flow's event handlers serve two purposes:\nThey are responsible for handling events (e.g. no match, webhook errors) in the flow.\nThey are inherited by every page's [event handlers][Page.event_handlers], which can be used to handle common events regardless of the current page. Event handlers defined in the page have higher priority than those defined in the flow.\nUnlike transitionRoutes, these handlers are evaluated on a first-match basis. The first one that matches the event get executed, with the rest being ignored.", + "items": { + "properties": { + "event": { + "description": "The name of the event to handle.", + "type": "string" + }, + "name": { + "description": "The unique identifier of this event handler.", + "type": "string" + }, + "targetFlow": { + "description": "The target flow to transition to.\nFormat: projects//locations//agents//flows/.", + "type": "string" + }, + "targetPage": { + "description": "The target page to transition to.\nFormat: projects//locations//agents//flows//pages/.", + "type": "string" + }, + "triggerFulfillment": { + "description": "The fulfillment to call when the event occurs. Handling webhook errors with a fulfillment enabled with webhook could cause infinite loop. It is invalid to specify such fulfillment for a handler handling webhooks.", + "properties": { + "conditionalCases": { + "description": "Conditional cases for this fulfillment.", + "items": { + "properties": { + "cases": { + "description": "A JSON encoded list of cascading if-else conditions. Cases are mutually exclusive. The first one with a matching condition is selected, all the rest ignored.\nSee [Case](https://cloud.google.com/dialogflow/cx/docs/reference/rest/v3/Fulfillment#case) for the schema.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "messages": { + "description": "The list of rich message responses to present to the user.", + "items": { + "properties": { + "channel": { + "description": "The channel which the response is associated with. Clients can specify the channel via QueryParameters.channel, and only associated channel response will be returned.", + "type": "string" + }, + "conversationSuccess": { + "description": "Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about.\nDialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess.\nYou may set this, for example:\n* In the entryFulfillment of a Page if entering the page indicates that the conversation succeeded.\n* In a webhook response when you determine that you handled the customer issue.", + "properties": { + "metadata": { + "description": "Custom metadata. Dialogflow doesn't impose any structure on this.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "liveAgentHandoff": { + "description": "Indicates that the conversation should be handed off to a live agent.\nDialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures.\nYou may set this, for example:\n* In the entryFulfillment of a Page if entering the page indicates something went extremely wrong in the conversation.\n* In a webhook response when you determine that the customer issue can only be handled by a human.", + "properties": { + "metadata": { + "description": "Custom metadata. Dialogflow doesn't impose any structure on this.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "outputAudioText": { + "description": "A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message.", + "properties": { + "allowPlaybackInterruption": { + "description": "Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.", + "type": "boolean" + }, + "ssml": { + "description": "The SSML text to be synthesized. For more information, see SSML.", + "type": "string" + }, + "text": { + "description": "The raw text to be synthesized.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "payload": { + "description": "A custom, platform-specific payload.", + "type": "string" + }, + "playAudio": { + "description": "Specifies an audio clip to be played by the client as part of the response.", + "properties": { + "allowPlaybackInterruption": { + "description": "Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.", + "type": "boolean" + }, + "audioUri": { + "description": "URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.", + "type": "string" + } + }, + "required": [ + "audioUri" + ], + "type": "object", + "additionalProperties": false + }, + "telephonyTransferCall": { + "description": "Represents the signal that telles the client to transfer the phone call connected to the agent to a third-party endpoint.", + "properties": { + "phoneNumber": { + "description": "Transfer the call to a phone number in E.164 format.", + "type": "string" + } + }, + "required": [ + "phoneNumber" + ], + "type": "object", + "additionalProperties": false + }, + "text": { + "description": "The text response message.", + "properties": { + "allowPlaybackInterruption": { + "description": "Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.", + "type": "boolean" + }, + "text": { + "description": "A collection of text responses.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "returnPartialResponses": { + "description": "Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs. If a webhook is specified, it happens before Dialogflow invokes webhook. Warning: 1) This flag only affects streaming API. Responses are still queued and returned once in non-streaming API. 2) The flag can be enabled in any fulfillment but only the first 3 partial responses will be returned. You may only want to apply it to fulfillments that have slow webhooks.", + "type": "boolean" + }, + "setParameterActions": { + "description": "Set parameter values before executing the webhook.", + "items": { + "properties": { + "parameter": { + "description": "Display name of the parameter.", + "type": "string" + }, + "value": { + "description": "The new JSON-encoded value of the parameter. A null value clears the parameter.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "tag": { + "description": "The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified.", + "type": "string" + }, + "webhook": { + "description": "The webhook to call. Format: projects//locations//agents//webhooks/.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "languageCode": { + "description": "Immutable. The language of the following fields in flow:\nFlow.event_handlers.trigger_fulfillment.messages\nFlow.event_handlers.trigger_fulfillment.conditional_cases\nFlow.transition_routes.trigger_fulfillment.messages\nFlow.transition_routes.trigger_fulfillment.conditional_cases\nIf not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used.", + "type": "string" + }, + "nluSettings": { + "description": "NLU related settings of the flow.", + "properties": { + "classificationThreshold": { + "description": "To filter out false positive results and still get variety in matched natural language inputs for your agent, you can tune the machine learning classification threshold.\nIf the returned score value is less than the threshold value, then a no-match event will be triggered. The score values range from 0.0 (completely uncertain) to 1.0 (completely certain). If set to 0.0, the default of 0.3 is used.", + "type": "number" + }, + "modelTrainingMode": { + "description": "Indicates NLU model training mode.\n* MODEL_TRAINING_MODE_AUTOMATIC: NLU model training is automatically triggered when a flow gets modified. User can also manually trigger model training in this mode.\n* MODEL_TRAINING_MODE_MANUAL: User needs to manually trigger NLU model training. Best for large flows whose models take long time to train. Possible values: [\"MODEL_TRAINING_MODE_AUTOMATIC\", \"MODEL_TRAINING_MODE_MANUAL\"].", + "type": "string" + }, + "modelType": { + "description": "Indicates the type of NLU model.\n* MODEL_TYPE_STANDARD: Use standard NLU model.\n* MODEL_TYPE_ADVANCED: Use advanced NLU model. Possible values: [\"MODEL_TYPE_STANDARD\", \"MODEL_TYPE_ADVANCED\"].", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "parent": { + "description": "Immutable. The agent to create a flow for.\nFormat: projects//locations//agents/.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + }, + "transitionRouteGroups": { + "description": "A flow's transition route group serve two purposes:\nThey are responsible for matching the user's first utterances in the flow.\nThey are inherited by every page's [transition route groups][Page.transition_route_groups]. Transition route groups defined in the page have higher priority than those defined in the flow.\nFormat:projects//locations//agents//flows//transitionRouteGroups/.", + "items": { + "type": "string" + }, + "type": "array" + }, + "transitionRoutes": { + "description": "A flow's transition routes serve two purposes:\nThey are responsible for matching the user's first utterances in the flow.\nThey are inherited by every page's [transition routes][Page.transition_routes] and can support use cases such as the user saying \"help\" or \"can I talk to a human?\", which can be handled in a common way regardless of the current page. Transition routes defined in the page have higher priority than those defined in the flow.\n\nTransitionRoutes are evalauted in the following order:\n TransitionRoutes with intent specified.\n TransitionRoutes with only condition specified.\n TransitionRoutes with intent specified are inherited by pages in the flow.", + "items": { + "properties": { + "condition": { + "description": "The condition to evaluate against form parameters or session parameters.\nAt least one of intent or condition must be specified. When both intent and condition are specified, the transition can only happen when both are fulfilled.", + "type": "string" + }, + "intent": { + "description": "The unique identifier of an Intent.\nFormat: projects//locations//agents//intents/. Indicates that the transition can only happen when the given intent is matched. At least one of intent or condition must be specified. When both intent and condition are specified, the transition can only happen when both are fulfilled.", + "type": "string" + }, + "name": { + "description": "The unique identifier of this transition route.", + "type": "string" + }, + "targetFlow": { + "description": "The target flow to transition to.\nFormat: projects//locations//agents//flows/.", + "type": "string" + }, + "targetPage": { + "description": "The target page to transition to.\nFormat: projects//locations//agents//flows//pages/.", + "type": "string" + }, + "triggerFulfillment": { + "description": "The fulfillment to call when the condition is satisfied. At least one of triggerFulfillment and target must be specified. When both are defined, triggerFulfillment is executed first.", + "properties": { + "conditionalCases": { + "description": "Conditional cases for this fulfillment.", + "items": { + "properties": { + "cases": { + "description": "A JSON encoded list of cascading if-else conditions. Cases are mutually exclusive. The first one with a matching condition is selected, all the rest ignored.\nSee [Case](https://cloud.google.com/dialogflow/cx/docs/reference/rest/v3/Fulfillment#case) for the schema.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "messages": { + "description": "The list of rich message responses to present to the user.", + "items": { + "properties": { + "channel": { + "description": "The channel which the response is associated with. Clients can specify the channel via QueryParameters.channel, and only associated channel response will be returned.", + "type": "string" + }, + "conversationSuccess": { + "description": "Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about.\nDialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess.\nYou may set this, for example:\n* In the entryFulfillment of a Page if entering the page indicates that the conversation succeeded.\n* In a webhook response when you determine that you handled the customer issue.", + "properties": { + "metadata": { + "description": "Custom metadata. Dialogflow doesn't impose any structure on this.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "liveAgentHandoff": { + "description": "Indicates that the conversation should be handed off to a live agent.\nDialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures.\nYou may set this, for example:\n* In the entryFulfillment of a Page if entering the page indicates something went extremely wrong in the conversation.\n* In a webhook response when you determine that the customer issue can only be handled by a human.", + "properties": { + "metadata": { + "description": "Custom metadata. Dialogflow doesn't impose any structure on this.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "outputAudioText": { + "description": "A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message.", + "properties": { + "allowPlaybackInterruption": { + "description": "Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.", + "type": "boolean" + }, + "ssml": { + "description": "The SSML text to be synthesized. For more information, see SSML.", + "type": "string" + }, + "text": { + "description": "The raw text to be synthesized.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "payload": { + "description": "A custom, platform-specific payload.", + "type": "string" + }, + "playAudio": { + "description": "Specifies an audio clip to be played by the client as part of the response.", + "properties": { + "allowPlaybackInterruption": { + "description": "Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.", + "type": "boolean" + }, + "audioUri": { + "description": "URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.", + "type": "string" + } + }, + "required": [ + "audioUri" + ], + "type": "object", + "additionalProperties": false + }, + "telephonyTransferCall": { + "description": "Represents the signal that telles the client to transfer the phone call connected to the agent to a third-party endpoint.", + "properties": { + "phoneNumber": { + "description": "Transfer the call to a phone number in E.164 format.", + "type": "string" + } + }, + "required": [ + "phoneNumber" + ], + "type": "object", + "additionalProperties": false + }, + "text": { + "description": "The text response message.", + "properties": { + "allowPlaybackInterruption": { + "description": "Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.", + "type": "boolean" + }, + "text": { + "description": "A collection of text responses.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "returnPartialResponses": { + "description": "Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs. If a webhook is specified, it happens before Dialogflow invokes webhook. Warning: 1) This flag only affects streaming API. Responses are still queued and returned once in non-streaming API. 2) The flag can be enabled in any fulfillment but only the first 3 partial responses will be returned. You may only want to apply it to fulfillments that have slow webhooks.", + "type": "boolean" + }, + "setParameterActions": { + "description": "Set parameter values before executing the webhook.", + "items": { + "properties": { + "parameter": { + "description": "Display name of the parameter.", + "type": "string" + }, + "value": { + "description": "The new JSON-encoded value of the parameter. A null value clears the parameter.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "tag": { + "description": "The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified.", + "type": "string" + }, + "webhook": { + "description": "The webhook to call. Format: projects//locations//agents//webhooks/.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "displayName" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The unique identifier of the flow.\nFormat: projects//locations//agents//flows/.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/dialogflowcx.cnrm.cloud.google.com/dialogflowcxintent_v1alpha1.json b/dialogflowcx.cnrm.cloud.google.com/dialogflowcxintent_v1alpha1.json new file mode 100644 index 00000000..507c0d67 --- /dev/null +++ b/dialogflowcx.cnrm.cloud.google.com/dialogflowcxintent_v1alpha1.json @@ -0,0 +1,172 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "description": { + "description": "Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.", + "type": "string" + }, + "displayName": { + "description": "The human-readable name of the intent, unique within the agent.", + "type": "string" + }, + "isFallback": { + "description": "Indicates whether this is a fallback intent. Currently only default fallback intent is allowed in the agent, which is added upon agent creation.\nAdding training phrases to fallback intent is useful in the case of requests that are mistakenly matched, since training phrases assigned to fallback intents act as negative examples that triggers no-match event.", + "type": "boolean" + }, + "languageCode": { + "description": "Immutable. The language of the following fields in intent:\nIntent.training_phrases.parts.text\nIf not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used.", + "type": "string" + }, + "parameters": { + "description": "The collection of parameters associated with the intent.", + "items": { + "properties": { + "entityType": { + "description": "The entity type of the parameter.\nFormat: projects/-/locations/-/agents/-/entityTypes/ for system entity types (for example, projects/-/locations/-/agents/-/entityTypes/sys.date), or projects//locations//agents//entityTypes/ for developer entity types.", + "type": "string" + }, + "id": { + "description": "The unique identifier of the parameter. This field is used by training phrases to annotate their parts.", + "type": "string" + }, + "isList": { + "description": "Indicates whether the parameter represents a list of values.", + "type": "boolean" + }, + "redact": { + "description": "Indicates whether the parameter content should be redacted in log. If redaction is enabled, the parameter content will be replaced by parameter name during logging.\nNote: the parameter content is subject to redaction if either parameter level redaction or entity type level redaction is enabled.", + "type": "boolean" + } + }, + "required": [ + "entityType", + "id" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "parent": { + "description": "Immutable. The agent to create an intent for.\nFormat: projects//locations//agents/.", + "type": "string" + }, + "priority": { + "description": "The priority of this intent. Higher numbers represent higher priorities.\nIf the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the Normal priority in the console.\nIf the supplied value is negative, the intent is ignored in runtime detect intent requests.", + "type": "integer" + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + }, + "trainingPhrases": { + "description": "The collection of training phrases the agent is trained on to identify the intent.", + "items": { + "properties": { + "id": { + "description": "The unique identifier of the training phrase.", + "type": "string" + }, + "parts": { + "description": "The ordered list of training phrase parts. The parts are concatenated in order to form the training phrase.\nNote: The API does not automatically annotate training phrases like the Dialogflow Console does.\nNote: Do not forget to include whitespace at part boundaries, so the training phrase is well formatted when the parts are concatenated.\nIf the training phrase does not need to be annotated with parameters, you just need a single part with only the Part.text field set.\nIf you want to annotate the training phrase, you must create multiple parts, where the fields of each part are populated in one of two ways:\nPart.text is set to a part of the phrase that has no parameters.\nPart.text is set to a part of the phrase that you want to annotate, and the parameterId field is set.", + "items": { + "properties": { + "parameterId": { + "description": "The parameter used to annotate this part of the training phrase. This field is required for annotated parts of the training phrase.", + "type": "string" + }, + "text": { + "description": "The text for this part.", + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "repeatCount": { + "description": "Indicates how many times this example was added to the intent.", + "type": "integer" + } + }, + "required": [ + "parts" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "displayName" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The unique identifier of the intent.\nFormat: projects//locations//agents//intents/.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/dialogflowcx.cnrm.cloud.google.com/dialogflowcxpage_v1alpha1.json b/dialogflowcx.cnrm.cloud.google.com/dialogflowcxpage_v1alpha1.json new file mode 100644 index 00000000..3972260a --- /dev/null +++ b/dialogflowcx.cnrm.cloud.google.com/dialogflowcxpage_v1alpha1.json @@ -0,0 +1,1025 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "displayName": { + "description": "The human-readable name of the page, unique within the agent.", + "type": "string" + }, + "entryFulfillment": { + "description": "The fulfillment to call when the session is entering the page.", + "properties": { + "conditionalCases": { + "description": "Conditional cases for this fulfillment.", + "items": { + "properties": { + "cases": { + "description": "A JSON encoded list of cascading if-else conditions. Cases are mutually exclusive. The first one with a matching condition is selected, all the rest ignored.\nSee [Case](https://cloud.google.com/dialogflow/cx/docs/reference/rest/v3/Fulfillment#case) for the schema.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "messages": { + "description": "The list of rich message responses to present to the user.", + "items": { + "properties": { + "channel": { + "description": "The channel which the response is associated with. Clients can specify the channel via QueryParameters.channel, and only associated channel response will be returned.", + "type": "string" + }, + "conversationSuccess": { + "description": "Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about.\nDialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess.\nYou may set this, for example:\n* In the entryFulfillment of a Page if entering the page indicates that the conversation succeeded.\n* In a webhook response when you determine that you handled the customer issue.", + "properties": { + "metadata": { + "description": "Custom metadata. Dialogflow doesn't impose any structure on this.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "liveAgentHandoff": { + "description": "Indicates that the conversation should be handed off to a live agent.\nDialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures.\nYou may set this, for example:\n* In the entryFulfillment of a Page if entering the page indicates something went extremely wrong in the conversation.\n* In a webhook response when you determine that the customer issue can only be handled by a human.", + "properties": { + "metadata": { + "description": "Custom metadata. Dialogflow doesn't impose any structure on this.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "outputAudioText": { + "description": "A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message.", + "properties": { + "allowPlaybackInterruption": { + "description": "Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.", + "type": "boolean" + }, + "ssml": { + "description": "The SSML text to be synthesized. For more information, see SSML.", + "type": "string" + }, + "text": { + "description": "The raw text to be synthesized.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "payload": { + "description": "A custom, platform-specific payload.", + "type": "string" + }, + "playAudio": { + "description": "Specifies an audio clip to be played by the client as part of the response.", + "properties": { + "allowPlaybackInterruption": { + "description": "Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.", + "type": "boolean" + }, + "audioUri": { + "description": "URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.", + "type": "string" + } + }, + "required": [ + "audioUri" + ], + "type": "object", + "additionalProperties": false + }, + "telephonyTransferCall": { + "description": "Represents the signal that telles the client to transfer the phone call connected to the agent to a third-party endpoint.", + "properties": { + "phoneNumber": { + "description": "Transfer the call to a phone number in E.164 format.", + "type": "string" + } + }, + "required": [ + "phoneNumber" + ], + "type": "object", + "additionalProperties": false + }, + "text": { + "description": "The text response message.", + "properties": { + "allowPlaybackInterruption": { + "description": "Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.", + "type": "boolean" + }, + "text": { + "description": "A collection of text responses.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "returnPartialResponses": { + "description": "Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs. If a webhook is specified, it happens before Dialogflow invokes webhook. Warning: 1) This flag only affects streaming API. Responses are still queued and returned once in non-streaming API. 2) The flag can be enabled in any fulfillment but only the first 3 partial responses will be returned. You may only want to apply it to fulfillments that have slow webhooks.", + "type": "boolean" + }, + "setParameterActions": { + "description": "Set parameter values before executing the webhook.", + "items": { + "properties": { + "parameter": { + "description": "Display name of the parameter.", + "type": "string" + }, + "value": { + "description": "The new JSON-encoded value of the parameter. A null value clears the parameter.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "tag": { + "description": "The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified.", + "type": "string" + }, + "webhook": { + "description": "The webhook to call. Format: projects//locations//agents//webhooks/.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "eventHandlers": { + "description": "Handlers associated with the page to handle events such as webhook errors, no match or no input.", + "items": { + "properties": { + "event": { + "description": "The name of the event to handle.", + "type": "string" + }, + "name": { + "description": "The unique identifier of this event handler.", + "type": "string" + }, + "targetFlow": { + "description": "The target flow to transition to.\nFormat: projects//locations//agents//flows/.", + "type": "string" + }, + "targetPage": { + "description": "The target page to transition to.\nFormat: projects//locations//agents//flows//pages/.", + "type": "string" + }, + "triggerFulfillment": { + "description": "The fulfillment to call when the event occurs. Handling webhook errors with a fulfillment enabled with webhook could cause infinite loop. It is invalid to specify such fulfillment for a handler handling webhooks.", + "properties": { + "conditionalCases": { + "description": "Conditional cases for this fulfillment.", + "items": { + "properties": { + "cases": { + "description": "A JSON encoded list of cascading if-else conditions. Cases are mutually exclusive. The first one with a matching condition is selected, all the rest ignored.\nSee [Case](https://cloud.google.com/dialogflow/cx/docs/reference/rest/v3/Fulfillment#case) for the schema.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "messages": { + "description": "The list of rich message responses to present to the user.", + "items": { + "properties": { + "channel": { + "description": "The channel which the response is associated with. Clients can specify the channel via QueryParameters.channel, and only associated channel response will be returned.", + "type": "string" + }, + "conversationSuccess": { + "description": "Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about.\nDialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess.\nYou may set this, for example:\n* In the entryFulfillment of a Page if entering the page indicates that the conversation succeeded.\n* In a webhook response when you determine that you handled the customer issue.", + "properties": { + "metadata": { + "description": "Custom metadata. Dialogflow doesn't impose any structure on this.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "liveAgentHandoff": { + "description": "Indicates that the conversation should be handed off to a live agent.\nDialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures.\nYou may set this, for example:\n* In the entryFulfillment of a Page if entering the page indicates something went extremely wrong in the conversation.\n* In a webhook response when you determine that the customer issue can only be handled by a human.", + "properties": { + "metadata": { + "description": "Custom metadata. Dialogflow doesn't impose any structure on this.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "outputAudioText": { + "description": "A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message.", + "properties": { + "allowPlaybackInterruption": { + "description": "Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.", + "type": "boolean" + }, + "ssml": { + "description": "The SSML text to be synthesized. For more information, see SSML.", + "type": "string" + }, + "text": { + "description": "The raw text to be synthesized.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "payload": { + "description": "A custom, platform-specific payload.", + "type": "string" + }, + "playAudio": { + "description": "Specifies an audio clip to be played by the client as part of the response.", + "properties": { + "allowPlaybackInterruption": { + "description": "Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.", + "type": "boolean" + }, + "audioUri": { + "description": "URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.", + "type": "string" + } + }, + "required": [ + "audioUri" + ], + "type": "object", + "additionalProperties": false + }, + "telephonyTransferCall": { + "description": "Represents the signal that telles the client to transfer the phone call connected to the agent to a third-party endpoint.", + "properties": { + "phoneNumber": { + "description": "Transfer the call to a phone number in E.164 format.", + "type": "string" + } + }, + "required": [ + "phoneNumber" + ], + "type": "object", + "additionalProperties": false + }, + "text": { + "description": "The text response message.", + "properties": { + "allowPlaybackInterruption": { + "description": "Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.", + "type": "boolean" + }, + "text": { + "description": "A collection of text responses.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "returnPartialResponses": { + "description": "Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs. If a webhook is specified, it happens before Dialogflow invokes webhook. Warning: 1) This flag only affects streaming API. Responses are still queued and returned once in non-streaming API. 2) The flag can be enabled in any fulfillment but only the first 3 partial responses will be returned. You may only want to apply it to fulfillments that have slow webhooks.", + "type": "boolean" + }, + "setParameterActions": { + "description": "Set parameter values before executing the webhook.", + "items": { + "properties": { + "parameter": { + "description": "Display name of the parameter.", + "type": "string" + }, + "value": { + "description": "The new JSON-encoded value of the parameter. A null value clears the parameter.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "tag": { + "description": "The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified.", + "type": "string" + }, + "webhook": { + "description": "The webhook to call. Format: projects//locations//agents//webhooks/.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "form": { + "description": "The form associated with the page, used for collecting parameters relevant to the page.", + "properties": { + "parameters": { + "description": "Parameters to collect from the user.", + "items": { + "properties": { + "defaultValue": { + "description": "The default value of an optional parameter. If the parameter is required, the default value will be ignored.", + "type": "string" + }, + "displayName": { + "description": "The human-readable name of the parameter, unique within the form.", + "type": "string" + }, + "entityType": { + "description": "The entity type of the parameter.\nFormat: projects/-/locations/-/agents/-/entityTypes/ for system entity types (for example, projects/-/locations/-/agents/-/entityTypes/sys.date), or projects//locations//agents//entityTypes/ for developer entity types.", + "type": "string" + }, + "fillBehavior": { + "description": "Defines fill behavior for the parameter.", + "properties": { + "initialPromptFulfillment": { + "description": "The fulfillment to provide the initial prompt that the agent can present to the user in order to fill the parameter.", + "properties": { + "conditionalCases": { + "description": "Conditional cases for this fulfillment.", + "items": { + "properties": { + "cases": { + "description": "A JSON encoded list of cascading if-else conditions. Cases are mutually exclusive. The first one with a matching condition is selected, all the rest ignored.\nSee [Case](https://cloud.google.com/dialogflow/cx/docs/reference/rest/v3/Fulfillment#case) for the schema.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "messages": { + "description": "The list of rich message responses to present to the user.", + "items": { + "properties": { + "channel": { + "description": "The channel which the response is associated with. Clients can specify the channel via QueryParameters.channel, and only associated channel response will be returned.", + "type": "string" + }, + "conversationSuccess": { + "description": "Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about.\nDialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess.\nYou may set this, for example:\n* In the entryFulfillment of a Page if entering the page indicates that the conversation succeeded.\n* In a webhook response when you determine that you handled the customer issue.", + "properties": { + "metadata": { + "description": "Custom metadata. Dialogflow doesn't impose any structure on this.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "liveAgentHandoff": { + "description": "Indicates that the conversation should be handed off to a live agent.\nDialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures.\nYou may set this, for example:\n* In the entryFulfillment of a Page if entering the page indicates something went extremely wrong in the conversation.\n* In a webhook response when you determine that the customer issue can only be handled by a human.", + "properties": { + "metadata": { + "description": "Custom metadata. Dialogflow doesn't impose any structure on this.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "outputAudioText": { + "description": "A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message.", + "properties": { + "allowPlaybackInterruption": { + "description": "Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.", + "type": "boolean" + }, + "ssml": { + "description": "The SSML text to be synthesized. For more information, see SSML.", + "type": "string" + }, + "text": { + "description": "The raw text to be synthesized.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "payload": { + "description": "A custom, platform-specific payload.", + "type": "string" + }, + "playAudio": { + "description": "Specifies an audio clip to be played by the client as part of the response.", + "properties": { + "allowPlaybackInterruption": { + "description": "Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.", + "type": "boolean" + }, + "audioUri": { + "description": "URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.", + "type": "string" + } + }, + "required": [ + "audioUri" + ], + "type": "object", + "additionalProperties": false + }, + "telephonyTransferCall": { + "description": "Represents the signal that telles the client to transfer the phone call connected to the agent to a third-party endpoint.", + "properties": { + "phoneNumber": { + "description": "Transfer the call to a phone number in E.164 format.", + "type": "string" + } + }, + "required": [ + "phoneNumber" + ], + "type": "object", + "additionalProperties": false + }, + "text": { + "description": "The text response message.", + "properties": { + "allowPlaybackInterruption": { + "description": "Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.", + "type": "boolean" + }, + "text": { + "description": "A collection of text responses.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "returnPartialResponses": { + "description": "Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs. If a webhook is specified, it happens before Dialogflow invokes webhook. Warning: 1) This flag only affects streaming API. Responses are still queued and returned once in non-streaming API. 2) The flag can be enabled in any fulfillment but only the first 3 partial responses will be returned. You may only want to apply it to fulfillments that have slow webhooks.", + "type": "boolean" + }, + "setParameterActions": { + "description": "Set parameter values before executing the webhook.", + "items": { + "properties": { + "parameter": { + "description": "Display name of the parameter.", + "type": "string" + }, + "value": { + "description": "The new JSON-encoded value of the parameter. A null value clears the parameter.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "tag": { + "description": "The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified.", + "type": "string" + }, + "webhook": { + "description": "The webhook to call. Format: projects//locations//agents//webhooks/.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "repromptEventHandlers": { + "description": "The handlers for parameter-level events, used to provide reprompt for the parameter or transition to a different page/flow. The supported events are:\n* sys.no-match-, where N can be from 1 to 6\n* sys.no-match-default\n* sys.no-input-, where N can be from 1 to 6\n* sys.no-input-default\n* sys.invalid-parameter\n[initialPromptFulfillment][initialPromptFulfillment] provides the first prompt for the parameter.\nIf the user's response does not fill the parameter, a no-match/no-input event will be triggered, and the fulfillment associated with the sys.no-match-1/sys.no-input-1 handler (if defined) will be called to provide a prompt. The sys.no-match-2/sys.no-input-2 handler (if defined) will respond to the next no-match/no-input event, and so on.\nA sys.no-match-default or sys.no-input-default handler will be used to handle all following no-match/no-input events after all numbered no-match/no-input handlers for the parameter are consumed.\nA sys.invalid-parameter handler can be defined to handle the case where the parameter values have been invalidated by webhook. For example, if the user's response fill the parameter, however the parameter was invalidated by webhook, the fulfillment associated with the sys.invalid-parameter handler (if defined) will be called to provide a prompt.\nIf the event handler for the corresponding event can't be found on the parameter, initialPromptFulfillment will be re-prompted.", + "items": { + "properties": { + "event": { + "description": "The name of the event to handle.", + "type": "string" + }, + "name": { + "description": "The unique identifier of this event handler.", + "type": "string" + }, + "targetFlow": { + "description": "The target flow to transition to.\nFormat: projects//locations//agents//flows/.", + "type": "string" + }, + "targetPage": { + "description": "The target page to transition to.\nFormat: projects//locations//agents//flows//pages/.", + "type": "string" + }, + "triggerFulfillment": { + "description": "The fulfillment to call when the event occurs. Handling webhook errors with a fulfillment enabled with webhook could cause infinite loop. It is invalid to specify such fulfillment for a handler handling webhooks.", + "properties": { + "conditionalCases": { + "description": "Conditional cases for this fulfillment.", + "items": { + "properties": { + "cases": { + "description": "A JSON encoded list of cascading if-else conditions. Cases are mutually exclusive. The first one with a matching condition is selected, all the rest ignored.\nSee [Case](https://cloud.google.com/dialogflow/cx/docs/reference/rest/v3/Fulfillment#case) for the schema.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "messages": { + "description": "The list of rich message responses to present to the user.", + "items": { + "properties": { + "channel": { + "description": "The channel which the response is associated with. Clients can specify the channel via QueryParameters.channel, and only associated channel response will be returned.", + "type": "string" + }, + "conversationSuccess": { + "description": "Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about.\nDialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess.\nYou may set this, for example:\n* In the entryFulfillment of a Page if entering the page indicates that the conversation succeeded.\n* In a webhook response when you determine that you handled the customer issue.", + "properties": { + "metadata": { + "description": "Custom metadata. Dialogflow doesn't impose any structure on this.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "liveAgentHandoff": { + "description": "Indicates that the conversation should be handed off to a live agent.\nDialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures.\nYou may set this, for example:\n* In the entryFulfillment of a Page if entering the page indicates something went extremely wrong in the conversation.\n* In a webhook response when you determine that the customer issue can only be handled by a human.", + "properties": { + "metadata": { + "description": "Custom metadata. Dialogflow doesn't impose any structure on this.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "outputAudioText": { + "description": "A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message.", + "properties": { + "allowPlaybackInterruption": { + "description": "Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.", + "type": "boolean" + }, + "ssml": { + "description": "The SSML text to be synthesized. For more information, see SSML.", + "type": "string" + }, + "text": { + "description": "The raw text to be synthesized.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "payload": { + "description": "A custom, platform-specific payload.", + "type": "string" + }, + "playAudio": { + "description": "Specifies an audio clip to be played by the client as part of the response.", + "properties": { + "allowPlaybackInterruption": { + "description": "Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.", + "type": "boolean" + }, + "audioUri": { + "description": "URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.", + "type": "string" + } + }, + "required": [ + "audioUri" + ], + "type": "object", + "additionalProperties": false + }, + "telephonyTransferCall": { + "description": "Represents the signal that telles the client to transfer the phone call connected to the agent to a third-party endpoint.", + "properties": { + "phoneNumber": { + "description": "Transfer the call to a phone number in E.164 format.", + "type": "string" + } + }, + "required": [ + "phoneNumber" + ], + "type": "object", + "additionalProperties": false + }, + "text": { + "description": "The text response message.", + "properties": { + "allowPlaybackInterruption": { + "description": "Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.", + "type": "boolean" + }, + "text": { + "description": "A collection of text responses.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "returnPartialResponses": { + "description": "Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs. If a webhook is specified, it happens before Dialogflow invokes webhook. Warning: 1) This flag only affects streaming API. Responses are still queued and returned once in non-streaming API. 2) The flag can be enabled in any fulfillment but only the first 3 partial responses will be returned. You may only want to apply it to fulfillments that have slow webhooks.", + "type": "boolean" + }, + "setParameterActions": { + "description": "Set parameter values before executing the webhook.", + "items": { + "properties": { + "parameter": { + "description": "Display name of the parameter.", + "type": "string" + }, + "value": { + "description": "The new JSON-encoded value of the parameter. A null value clears the parameter.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "tag": { + "description": "The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified.", + "type": "string" + }, + "webhook": { + "description": "The webhook to call. Format: projects//locations//agents//webhooks/.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "type": "object", + "additionalProperties": false + }, + "isList": { + "description": "Indicates whether the parameter represents a list of values.", + "type": "boolean" + }, + "redact": { + "description": "Indicates whether the parameter content should be redacted in log.\nIf redaction is enabled, the parameter content will be replaced by parameter name during logging. Note: the parameter content is subject to redaction if either parameter level redaction or entity type level redaction is enabled.", + "type": "boolean" + }, + "required": { + "description": "Indicates whether the parameter is required. Optional parameters will not trigger prompts; however, they are filled if the user specifies them.\nRequired parameters must be filled before form filling concludes.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "type": "object", + "additionalProperties": false + }, + "languageCode": { + "description": "Immutable. The language of the following fields in page:\n\nPage.entry_fulfillment.messages\nPage.entry_fulfillment.conditional_cases\nPage.event_handlers.trigger_fulfillment.messages\nPage.event_handlers.trigger_fulfillment.conditional_cases\nPage.form.parameters.fill_behavior.initial_prompt_fulfillment.messages\nPage.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases\nPage.form.parameters.fill_behavior.reprompt_event_handlers.messages\nPage.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases\nPage.transition_routes.trigger_fulfillment.messages\nPage.transition_routes.trigger_fulfillment.conditional_cases\nIf not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used.", + "type": "string" + }, + "parent": { + "description": "Immutable. The flow to create a page for.\nFormat: projects//locations//agents//flows/.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + }, + "transitionRouteGroups": { + "description": "Ordered list of TransitionRouteGroups associated with the page. Transition route groups must be unique within a page.\nIf multiple transition routes within a page scope refer to the same intent, then the precedence order is: page's transition route -> page's transition route group -> flow's transition routes.\nIf multiple transition route groups within a page contain the same intent, then the first group in the ordered list takes precedence.\nFormat:projects//locations//agents//flows//transitionRouteGroups/.", + "items": { + "type": "string" + }, + "type": "array" + }, + "transitionRoutes": { + "description": "A list of transitions for the transition rules of this page. They route the conversation to another page in the same flow, or another flow.\nWhen we are in a certain page, the TransitionRoutes are evalauted in the following order:\nTransitionRoutes defined in the page with intent specified.\nTransitionRoutes defined in the transition route groups with intent specified.\nTransitionRoutes defined in flow with intent specified.\nTransitionRoutes defined in the transition route groups with intent specified.\nTransitionRoutes defined in the page with only condition specified.\nTransitionRoutes defined in the transition route groups with only condition specified.", + "items": { + "properties": { + "condition": { + "description": "The condition to evaluate against form parameters or session parameters.\nAt least one of intent or condition must be specified. When both intent and condition are specified, the transition can only happen when both are fulfilled.", + "type": "string" + }, + "intent": { + "description": "The unique identifier of an Intent.\nFormat: projects//locations//agents//intents/. Indicates that the transition can only happen when the given intent is matched. At least one of intent or condition must be specified. When both intent and condition are specified, the transition can only happen when both are fulfilled.", + "type": "string" + }, + "name": { + "description": "The unique identifier of this transition route.", + "type": "string" + }, + "targetFlow": { + "description": "The target flow to transition to.\nFormat: projects//locations//agents//flows/.", + "type": "string" + }, + "targetPage": { + "description": "The target page to transition to.\nFormat: projects//locations//agents//flows//pages/.", + "type": "string" + }, + "triggerFulfillment": { + "description": "The fulfillment to call when the condition is satisfied. At least one of triggerFulfillment and target must be specified. When both are defined, triggerFulfillment is executed first.", + "properties": { + "conditionalCases": { + "description": "Conditional cases for this fulfillment.", + "items": { + "properties": { + "cases": { + "description": "A JSON encoded list of cascading if-else conditions. Cases are mutually exclusive. The first one with a matching condition is selected, all the rest ignored.\nSee [Case](https://cloud.google.com/dialogflow/cx/docs/reference/rest/v3/Fulfillment#case) for the schema.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "messages": { + "description": "The list of rich message responses to present to the user.", + "items": { + "properties": { + "channel": { + "description": "The channel which the response is associated with. Clients can specify the channel via QueryParameters.channel, and only associated channel response will be returned.", + "type": "string" + }, + "conversationSuccess": { + "description": "Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about.\nDialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess.\nYou may set this, for example:\n* In the entryFulfillment of a Page if entering the page indicates that the conversation succeeded.\n* In a webhook response when you determine that you handled the customer issue.", + "properties": { + "metadata": { + "description": "Custom metadata. Dialogflow doesn't impose any structure on this.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "liveAgentHandoff": { + "description": "Indicates that the conversation should be handed off to a live agent.\nDialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures.\nYou may set this, for example:\n* In the entryFulfillment of a Page if entering the page indicates something went extremely wrong in the conversation.\n* In a webhook response when you determine that the customer issue can only be handled by a human.", + "properties": { + "metadata": { + "description": "Custom metadata. Dialogflow doesn't impose any structure on this.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "outputAudioText": { + "description": "A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message.", + "properties": { + "allowPlaybackInterruption": { + "description": "Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.", + "type": "boolean" + }, + "ssml": { + "description": "The SSML text to be synthesized. For more information, see SSML.", + "type": "string" + }, + "text": { + "description": "The raw text to be synthesized.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "payload": { + "description": "A custom, platform-specific payload.", + "type": "string" + }, + "playAudio": { + "description": "Specifies an audio clip to be played by the client as part of the response.", + "properties": { + "allowPlaybackInterruption": { + "description": "Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.", + "type": "boolean" + }, + "audioUri": { + "description": "URI of the audio clip. Dialogflow does not impose any validation on this value. It is specific to the client that reads it.", + "type": "string" + } + }, + "required": [ + "audioUri" + ], + "type": "object", + "additionalProperties": false + }, + "telephonyTransferCall": { + "description": "Represents the signal that telles the client to transfer the phone call connected to the agent to a third-party endpoint.", + "properties": { + "phoneNumber": { + "description": "Transfer the call to a phone number in E.164 format.", + "type": "string" + } + }, + "required": [ + "phoneNumber" + ], + "type": "object", + "additionalProperties": false + }, + "text": { + "description": "The text response message.", + "properties": { + "allowPlaybackInterruption": { + "description": "Whether the playback of this message can be interrupted by the end user's speech and the client can then starts the next Dialogflow request.", + "type": "boolean" + }, + "text": { + "description": "A collection of text responses.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "returnPartialResponses": { + "description": "Whether Dialogflow should return currently queued fulfillment response messages in streaming APIs. If a webhook is specified, it happens before Dialogflow invokes webhook. Warning: 1) This flag only affects streaming API. Responses are still queued and returned once in non-streaming API. 2) The flag can be enabled in any fulfillment but only the first 3 partial responses will be returned. You may only want to apply it to fulfillments that have slow webhooks.", + "type": "boolean" + }, + "setParameterActions": { + "description": "Set parameter values before executing the webhook.", + "items": { + "properties": { + "parameter": { + "description": "Display name of the parameter.", + "type": "string" + }, + "value": { + "description": "The new JSON-encoded value of the parameter. A null value clears the parameter.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "tag": { + "description": "The tag used by the webhook to identify which fulfillment is being called. This field is required if webhook is specified.", + "type": "string" + }, + "webhook": { + "description": "The webhook to call. Format: projects//locations//agents//webhooks/.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "displayName" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The unique identifier of the page.\nFormat: projects//locations//agents//flows//pages/.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/dialogflowcx.cnrm.cloud.google.com/dialogflowcxwebhook_v1alpha1.json b/dialogflowcx.cnrm.cloud.google.com/dialogflowcxwebhook_v1alpha1.json new file mode 100644 index 00000000..305091fa --- /dev/null +++ b/dialogflowcx.cnrm.cloud.google.com/dialogflowcxwebhook_v1alpha1.json @@ -0,0 +1,179 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "disabled": { + "description": "Indicates whether the webhook is disabled.", + "type": "boolean" + }, + "displayName": { + "description": "The human-readable name of the webhook, unique within the agent.", + "type": "string" + }, + "enableSpellCorrection": { + "description": "Indicates if automatic spell correction is enabled in detect intent requests.", + "type": "boolean" + }, + "enableStackdriverLogging": { + "description": "Determines whether this agent should log conversation queries.", + "type": "boolean" + }, + "genericWebService": { + "description": "Configuration for a generic web service.", + "properties": { + "allowedCaCerts": { + "description": "Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification.", + "items": { + "type": "string" + }, + "type": "array" + }, + "requestHeaders": { + "additionalProperties": { + "type": "string" + }, + "description": "Immutable. The HTTP request headers to send together with webhook requests.", + "type": "object" + }, + "uri": { + "description": "Whether to use speech adaptation for speech recognition.", + "type": "string" + } + }, + "required": [ + "uri" + ], + "type": "object", + "additionalProperties": false + }, + "parent": { + "description": "Immutable. The agent to create a webhook for.\nFormat: projects//locations//agents/.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + }, + "securitySettings": { + "description": "Name of the SecuritySettings reference for the agent. Format: projects//locations//securitySettings/.", + "type": "string" + }, + "serviceDirectory": { + "description": "Configuration for a Service Directory service.", + "properties": { + "genericWebService": { + "description": "The name of Service Directory service.", + "properties": { + "allowedCaCerts": { + "description": "Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification.", + "items": { + "type": "string" + }, + "type": "array" + }, + "requestHeaders": { + "additionalProperties": { + "type": "string" + }, + "description": "Immutable. The HTTP request headers to send together with webhook requests.", + "type": "object" + }, + "uri": { + "description": "Whether to use speech adaptation for speech recognition.", + "type": "string" + } + }, + "required": [ + "uri" + ], + "type": "object", + "additionalProperties": false + }, + "service": { + "description": "The name of Service Directory service.", + "type": "string" + } + }, + "required": [ + "genericWebService", + "service" + ], + "type": "object", + "additionalProperties": false + }, + "timeout": { + "description": "Webhook execution timeout.", + "type": "string" + } + }, + "required": [ + "displayName" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The unique identifier of the webhook.\nFormat: projects//locations//agents//webhooks/.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "startFlow": { + "description": "Name of the start flow in this agent. A start flow will be automatically created when the agent is created, and can only be deleted by deleting the agent. Format: projects//locations//agents//flows/.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/dns.cnrm.cloud.google.com/dnsresponsepolicy_v1alpha1.json b/dns.cnrm.cloud.google.com/dnsresponsepolicy_v1alpha1.json new file mode 100644 index 00000000..a11a1055 --- /dev/null +++ b/dns.cnrm.cloud.google.com/dnsresponsepolicy_v1alpha1.json @@ -0,0 +1,160 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "description": { + "description": "The description of the response policy, such as 'My new response policy'.", + "type": "string" + }, + "gkeClusters": { + "description": "The list of Google Kubernetes Engine clusters that can see this zone.", + "items": { + "properties": { + "gkeClusterName": { + "description": "The resource name of the cluster to bind this ManagedZone to.\nThis should be specified in the format like\n'projects/*/locations/*/clusters/*'.", + "type": "string" + } + }, + "required": [ + "gkeClusterName" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "networks": { + "description": "The list of network names specifying networks to which this policy is applied.", + "items": { + "properties": { + "networkUrl": { + "description": "The fully qualified URL of the VPC network to bind to.\nThis should be formatted like\n'https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network}'.", + "type": "string" + } + }, + "required": [ + "networkUrl" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The responsePolicyName of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/dns.cnrm.cloud.google.com/dnsresponsepolicyrule_v1alpha1.json b/dns.cnrm.cloud.google.com/dnsresponsepolicyrule_v1alpha1.json new file mode 100644 index 00000000..37a8c6b3 --- /dev/null +++ b/dns.cnrm.cloud.google.com/dnsresponsepolicyrule_v1alpha1.json @@ -0,0 +1,179 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "behavior": { + "description": "Answer this query with a behavior rather than DNS data. Acceptable values are 'behaviorUnspecified', and 'bypassResponsePolicy'.", + "type": "string" + }, + "dnsName": { + "description": "The DNS name (wildcard or exact) to apply this rule to. Must be unique within the Response Policy Rule.", + "type": "string" + }, + "localData": { + "description": "Answer this query directly with DNS data. These ResourceRecordSets override any other DNS behavior for the matched name;\nin particular they override private zones, the public internet, and GCP internal DNS. No SOA nor NS types are allowed.", + "properties": { + "localDatas": { + "description": "All resource record sets for this selector, one per resource record type. The name must match the dns_name.", + "items": { + "properties": { + "name": { + "description": "For example, www.example.com.", + "type": "string" + }, + "rrdatas": { + "description": "As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1).", + "items": { + "type": "string" + }, + "type": "array" + }, + "ttl": { + "description": "Number of seconds that this ResourceRecordSet can be cached by\nresolvers.", + "type": "integer" + }, + "type": { + "description": "One of valid DNS resource types. Possible values: [\"A\", \"AAAA\", \"CAA\", \"CNAME\", \"DNSKEY\", \"DS\", \"HTTPS\", \"IPSECVPNKEY\", \"MX\", \"NAPTR\", \"NS\", \"PTR\", \"SOA\", \"SPF\", \"SRV\", \"SSHFP\", \"SVCB\", \"TLSA\", \"TXT\"].", + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "localDatas" + ], + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The ruleName of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "responsePolicy": { + "description": "Identifies the response policy addressed by this request.", + "type": "string" + } + }, + "required": [ + "dnsName", + "projectRef", + "responsePolicy" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/documentai.cnrm.cloud.google.com/documentaiprocessor_v1alpha1.json b/documentai.cnrm.cloud.google.com/documentaiprocessor_v1alpha1.json new file mode 100644 index 00000000..babad4fe --- /dev/null +++ b/documentai.cnrm.cloud.google.com/documentaiprocessor_v1alpha1.json @@ -0,0 +1,145 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "displayName": { + "description": "Immutable. The display name. Must be unique.", + "type": "string" + }, + "kmsKeyName": { + "description": "Immutable. The KMS key used for encryption/decryption in CMEK scenarios. See https://cloud.google.com/security-key-management.", + "type": "string" + }, + "location": { + "description": "Immutable. The location of the resource.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + }, + "type": { + "description": "Immutable. The type of processor. For possible types see the [official list](https://cloud.google.com/document-ai/docs/reference/rest/v1/projects.locations/fetchProcessorTypes#google.cloud.documentai.v1.DocumentProcessorService.FetchProcessorTypes).", + "type": "string" + } + }, + "required": [ + "displayName", + "location", + "projectRef", + "type" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The resource name of the processor.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/documentai.cnrm.cloud.google.com/documentaiprocessordefaultversion_v1alpha1.json b/documentai.cnrm.cloud.google.com/documentaiprocessordefaultversion_v1alpha1.json new file mode 100644 index 00000000..0b9c6a69 --- /dev/null +++ b/documentai.cnrm.cloud.google.com/documentaiprocessordefaultversion_v1alpha1.json @@ -0,0 +1,76 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "resourceID": { + "description": "Immutable. Optional. The processor of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "version": { + "description": "Immutable. The version to set. Using 'stable' or 'rc' will cause the API to return the latest version in that release channel.\nApply 'lifecycle.ignore_changes' to the 'version' field to suppress this diff.", + "type": "string" + } + }, + "required": [ + "version" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/essentialcontacts.cnrm.cloud.google.com/essentialcontactscontact_v1alpha1.json b/essentialcontacts.cnrm.cloud.google.com/essentialcontactscontact_v1alpha1.json new file mode 100644 index 00000000..b33b3746 --- /dev/null +++ b/essentialcontacts.cnrm.cloud.google.com/essentialcontactscontact_v1alpha1.json @@ -0,0 +1,98 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "email": { + "description": "Immutable. The email address to send notifications to. This does not need to be a Google account.", + "type": "string" + }, + "languageTag": { + "description": "The preferred language for notifications, as a ISO 639-1 language code. See Supported languages for a list of supported languages.", + "type": "string" + }, + "notificationCategorySubscriptions": { + "description": "The categories of notifications that the contact will receive communications for.", + "items": { + "type": "string" + }, + "type": "array" + }, + "parent": { + "description": "Immutable. The resource to save this contact for. Format: organizations/{organization_id}, folders/{folder_id} or projects/{project_id}.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + } + }, + "required": [ + "email", + "languageTag", + "notificationCategorySubscriptions", + "parent" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The identifier for the contact. Format: {resourceType}/{resource_id}/contacts/{contact_id}.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/filestore.cnrm.cloud.google.com/filestoresnapshot_v1alpha1.json b/filestore.cnrm.cloud.google.com/filestoresnapshot_v1alpha1.json new file mode 100644 index 00000000..ae12ba4c --- /dev/null +++ b/filestore.cnrm.cloud.google.com/filestoresnapshot_v1alpha1.json @@ -0,0 +1,148 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "description": { + "description": "A description of the snapshot with 2048 characters or less. Requests with longer descriptions will be rejected.", + "type": "string" + }, + "instance": { + "description": "Immutable. The resource name of the filestore instance.", + "type": "string" + }, + "location": { + "description": "Immutable. The name of the location of the instance. This can be a region for ENTERPRISE tier instances.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "instance", + "location", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "createTime": { + "description": "The time when the snapshot was created in RFC3339 text format.", + "type": "string" + }, + "filesystemUsedBytes": { + "description": "The amount of bytes needed to allocate a full copy of the snapshot content.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "state": { + "description": "The snapshot state.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/firebase.cnrm.cloud.google.com/firebaseandroidapp_v1alpha1.json b/firebase.cnrm.cloud.google.com/firebaseandroidapp_v1alpha1.json new file mode 100644 index 00000000..de85b8d9 --- /dev/null +++ b/firebase.cnrm.cloud.google.com/firebaseandroidapp_v1alpha1.json @@ -0,0 +1,164 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "apiKeyId": { + "description": "The globally unique, Google-assigned identifier (UID) for the Firebase API key associated with the AndroidApp.\nIf apiKeyId is not set during creation, then Firebase automatically associates an apiKeyId with the AndroidApp.\nThis auto-associated key may be an existing valid key or, if no valid key exists, a new one will be provisioned.", + "type": "string" + }, + "deletionPolicy": { + "type": "string" + }, + "displayName": { + "description": "The user-assigned display name of the AndroidApp.", + "type": "string" + }, + "packageName": { + "description": "Immutable. The canonical package name of the Android app as would appear in the Google Play\nDeveloper Console.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated appId of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + }, + "sha1Hashes": { + "description": "The SHA1 certificate hashes for the AndroidApp.", + "items": { + "type": "string" + }, + "type": "array" + }, + "sha256Hashes": { + "description": "The SHA256 certificate hashes for the AndroidApp.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "displayName", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "appId": { + "description": "The globally unique, Firebase-assigned identifier of the AndroidApp.\nThis identifier should be treated as an opaque token, as the data format is not specified.", + "type": "string" + }, + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "etag": { + "description": "This checksum is computed by the server based on the value of other fields, and it may be sent\nwith update requests to ensure the client has an up-to-date value before proceeding.", + "type": "string" + }, + "name": { + "description": "The fully qualified resource name of the AndroidApp, for example:\nprojects/projectId/androidApps/appId.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/firebase.cnrm.cloud.google.com/firebaseproject_v1alpha1.json b/firebase.cnrm.cloud.google.com/firebaseproject_v1alpha1.json new file mode 100644 index 00000000..ba690f58 --- /dev/null +++ b/firebase.cnrm.cloud.google.com/firebaseproject_v1alpha1.json @@ -0,0 +1,130 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The project of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "displayName": { + "description": "The GCP project display name.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "projectNumber": { + "description": "The number of the google project that firebase is enabled on.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/firebase.cnrm.cloud.google.com/firebasewebapp_v1alpha1.json b/firebase.cnrm.cloud.google.com/firebasewebapp_v1alpha1.json new file mode 100644 index 00000000..1b09c5f3 --- /dev/null +++ b/firebase.cnrm.cloud.google.com/firebasewebapp_v1alpha1.json @@ -0,0 +1,102 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "apiKeyId": { + "description": "The globally unique, Google-assigned identifier (UID) for the Firebase API key associated with the WebApp.\nIf apiKeyId is not set during creation, then Firebase automatically associates an apiKeyId with the WebApp.\nThis auto-associated key may be an existing valid key or, if no valid key exists, a new one will be provisioned.", + "type": "string" + }, + "deletionPolicy": { + "type": "string" + }, + "displayName": { + "description": "The user-assigned display name of the App.", + "type": "string" + }, + "project": { + "description": "Immutable.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + } + }, + "required": [ + "displayName" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "appId": { + "description": "The globally unique, Firebase-assigned identifier of the App.\nThis identifier should be treated as an opaque token, as the data format is not specified.", + "type": "string" + }, + "appUrls": { + "description": "The URLs where the 'WebApp' is hosted.", + "items": { + "type": "string" + }, + "type": "array" + }, + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The fully qualified resource name of the App, for example:\nprojects/projectId/webApps/appId.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/firebasedatabase.cnrm.cloud.google.com/firebasedatabaseinstance_v1alpha1.json b/firebasedatabase.cnrm.cloud.google.com/firebasedatabaseinstance_v1alpha1.json new file mode 100644 index 00000000..48271f66 --- /dev/null +++ b/firebasedatabase.cnrm.cloud.google.com/firebasedatabaseinstance_v1alpha1.json @@ -0,0 +1,147 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "desiredState": { + "description": "The intended database state.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Immutable. A reference to the region where the Firebase Realtime database resides.\nCheck all [available regions](https://firebase.google.com/docs/projects/locations#rtdb-locations).", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The instanceId of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "type": { + "description": "Immutable. The database type.\nEach project can create one default Firebase Realtime Database, which cannot be deleted once created.\nCreating user Databases is only available for projects on the Blaze plan.\nProjects can be upgraded using the Cloud Billing API https://cloud.google.com/billing/reference/rest/v1/projects/updateBillingInfo. Default value: \"USER_DATABASE\" Possible values: [\"DEFAULT_DATABASE\", \"USER_DATABASE\"].", + "type": "string" + } + }, + "required": [ + "projectRef", + "region" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "databaseUrl": { + "description": "The database URL in the form of https://{instance-id}.firebaseio.com for us-central1 instances\nor https://{instance-id}.{region}.firebasedatabase.app in other regions.", + "type": "string" + }, + "name": { + "description": "The fully-qualified resource name of the Firebase Realtime Database, in the\nformat: projects/PROJECT_NUMBER/locations/REGION_IDENTIFIER/instances/INSTANCE_ID\nPROJECT_NUMBER: The Firebase project's ['ProjectNumber'](https://firebase.google.com/docs/reference/firebase-management/rest/v1beta1/projects#FirebaseProject.FIELDS.project_number)\nLearn more about using project identifiers in Google's [AIP 2510 standard](https://google.aip.dev/cloud/2510).", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "state": { + "description": "The current database state. Set desired_state to :DISABLED to disable the database and :ACTIVE to reenable the database.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/firebasehosting.cnrm.cloud.google.com/firebasehostingchannel_v1alpha1.json b/firebasehosting.cnrm.cloud.google.com/firebasehostingchannel_v1alpha1.json new file mode 100644 index 00000000..a4cea0c4 --- /dev/null +++ b/firebasehosting.cnrm.cloud.google.com/firebasehostingchannel_v1alpha1.json @@ -0,0 +1,92 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "expireTime": { + "description": "The time at which the channel will be automatically deleted. If null, the channel\nwill not be automatically deleted. This field is present in the output whether it's\nset directly or via the 'ttl' field.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The channelId of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "retainedReleaseCount": { + "description": "The number of previous releases to retain on the channel for rollback or other\npurposes. Must be a number between 1-100. Defaults to 10 for new channels.", + "type": "integer" + }, + "siteId": { + "description": "Immutable. Required. The ID of the site in which to create this channel.", + "type": "string" + }, + "ttl": { + "description": "Immutable. Input only. A time-to-live for this channel. Sets 'expire_time' to the provided\nduration past the time of the request. A duration in seconds with up to nine fractional\ndigits, terminated by 's'. Example: \"86400s\" (one day).", + "type": "string" + } + }, + "required": [ + "siteId" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The fully-qualified resource name for the channel, in the format:\nsites/SITE_ID/channels/CHANNEL_ID.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/firebasehosting.cnrm.cloud.google.com/firebasehostingsite_v1alpha1.json b/firebasehosting.cnrm.cloud.google.com/firebasehostingsite_v1alpha1.json new file mode 100644 index 00000000..fe0d41ba --- /dev/null +++ b/firebasehosting.cnrm.cloud.google.com/firebasehostingsite_v1alpha1.json @@ -0,0 +1,134 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "appId": { + "description": "Optional. The [ID of a Web App](https://firebase.google.com/docs/reference/firebase-management/rest/v1beta1/projects.webApps#WebApp.FIELDS.app_id)\nassociated with the Hosting site.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The siteId of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "defaultUrl": { + "description": "The default URL for the site in the form of https://{name}.web.app.", + "type": "string" + }, + "name": { + "description": "Output only. The fully-qualified resource name of the Hosting site, in the\nformat: projects/PROJECT_IDENTIFIER/sites/SITE_ID PROJECT_IDENTIFIER: the\nFirebase project's\n['ProjectNumber'](https://firebase.google.com/docs/reference/firebase-management/rest/v1beta1/projects#FirebaseProject.FIELDS.project_number) ***(recommended)*** or its\n['ProjectId'](https://firebase.google.com/docs/reference/firebase-management/rest/v1beta1/projects#FirebaseProject.FIELDS.project_id).\nLearn more about using project identifiers in Google's\n[AIP 2510 standard](https://google.aip.dev/cloud/2510).", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/firebasestorage.cnrm.cloud.google.com/firebasestoragebucket_v1alpha1.json b/firebasestorage.cnrm.cloud.google.com/firebasestoragebucket_v1alpha1.json new file mode 100644 index 00000000..e1cb5077 --- /dev/null +++ b/firebasestorage.cnrm.cloud.google.com/firebasestoragebucket_v1alpha1.json @@ -0,0 +1,126 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The bucketId of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "Resource name of the bucket in the format projects/PROJECT_IDENTIFIER/buckets/BUCKET_ID.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/healthcare.cnrm.cloud.google.com/healthcareconsentstore_v1alpha1.json b/healthcare.cnrm.cloud.google.com/healthcareconsentstore_v1alpha1.json new file mode 100644 index 00000000..32d9b32e --- /dev/null +++ b/healthcare.cnrm.cloud.google.com/healthcareconsentstore_v1alpha1.json @@ -0,0 +1,84 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "dataset": { + "description": "Immutable. Identifies the dataset addressed by this request. Must be in the format\n'projects/{project}/locations/{location}/datasets/{dataset}'.", + "type": "string" + }, + "defaultConsentTtl": { + "description": "Default time to live for consents in this store. Must be at least 24 hours. Updating this field will not affect the expiration time of existing consents.\n\nA duration in seconds with up to nine fractional digits, terminated by 's'. Example: \"3.5s\".", + "type": "string" + }, + "enableConsentCreateOnUpdate": { + "description": "If true, [consents.patch] [google.cloud.healthcare.v1.consent.UpdateConsent] creates the consent if it does not already exist.", + "type": "boolean" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "dataset" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/healthcare.cnrm.cloud.google.com/healthcaredataset_v1alpha1.json b/healthcare.cnrm.cloud.google.com/healthcaredataset_v1alpha1.json new file mode 100644 index 00000000..6ad83923 --- /dev/null +++ b/healthcare.cnrm.cloud.google.com/healthcaredataset_v1alpha1.json @@ -0,0 +1,135 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "location": { + "description": "Immutable. The location for the Dataset.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "timeZone": { + "description": "The default timezone used by this dataset. Must be a either a valid IANA time zone name such as\n\"America/New_York\" or empty, which defaults to UTC. This is used for parsing times in resources\n(e.g., HL7 messages) where no explicit timezone is specified.", + "type": "string" + } + }, + "required": [ + "location", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "selfLink": { + "description": "The fully qualified name of this dataset.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/healthcare.cnrm.cloud.google.com/healthcaredicomstore_v1alpha1.json b/healthcare.cnrm.cloud.google.com/healthcaredicomstore_v1alpha1.json new file mode 100644 index 00000000..36773637 --- /dev/null +++ b/healthcare.cnrm.cloud.google.com/healthcaredicomstore_v1alpha1.json @@ -0,0 +1,121 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "dataset": { + "description": "Immutable. Identifies the dataset addressed by this request. Must be in the format\n'projects/{project}/locations/{location}/datasets/{dataset}'.", + "type": "string" + }, + "notificationConfig": { + "description": "A nested object resource.", + "properties": { + "pubsubTopic": { + "description": "The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client.\nPubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message.\nIt is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message\nwas published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a\nproject. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given\nCloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.", + "type": "string" + } + }, + "required": [ + "pubsubTopic" + ], + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "streamConfigs": { + "description": "To enable streaming to BigQuery, configure the streamConfigs object in your DICOM store.\nstreamConfigs is an array, so you can specify multiple BigQuery destinations. You can stream metadata from a single DICOM store to up to five BigQuery tables in a BigQuery dataset.", + "items": { + "properties": { + "bigqueryDestination": { + "description": "BigQueryDestination to include a fully qualified BigQuery table URI where DICOM instance metadata will be streamed.", + "properties": { + "tableUri": { + "description": "a fully qualified BigQuery table URI where DICOM instance metadata will be streamed.", + "type": "string" + } + }, + "required": [ + "tableUri" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "bigqueryDestination" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "dataset" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "selfLink": { + "description": "The fully qualified name of this dataset.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/healthcare.cnrm.cloud.google.com/healthcarefhirstore_v1alpha1.json b/healthcare.cnrm.cloud.google.com/healthcarefhirstore_v1alpha1.json new file mode 100644 index 00000000..188c4932 --- /dev/null +++ b/healthcare.cnrm.cloud.google.com/healthcarefhirstore_v1alpha1.json @@ -0,0 +1,218 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "complexDataTypeReferenceParsing": { + "description": "Enable parsing of references within complex FHIR data types such as Extensions. If this value is set to ENABLED, then features like referential integrity and Bundle reference rewriting apply to all references. If this flag has not been specified the behavior of the FHIR store will not change, references in complex data types will not be parsed. New stores will have this value set to ENABLED by default after a notification period. Warning: turning on this flag causes processing existing resources to fail if they contain references to non-existent resources. Possible values: [\"COMPLEX_DATA_TYPE_REFERENCE_PARSING_UNSPECIFIED\", \"DISABLED\", \"ENABLED\"].", + "type": "string" + }, + "dataset": { + "description": "Immutable. Identifies the dataset addressed by this request. Must be in the format\n'projects/{project}/locations/{location}/datasets/{dataset}'.", + "type": "string" + }, + "defaultSearchHandlingStrict": { + "description": "If true, overrides the default search behavior for this FHIR store to handling=strict which returns an error for unrecognized search parameters.\nIf false, uses the FHIR specification default handling=lenient which ignores unrecognized search parameters.\nThe handling can always be changed from the default on an individual API call by setting the HTTP header Prefer: handling=strict or Prefer: handling=lenient.", + "type": "boolean" + }, + "disableReferentialIntegrity": { + "description": "Immutable. Whether to disable referential integrity in this FHIR store. This field is immutable after FHIR store\ncreation. The default value is false, meaning that the API will enforce referential integrity and fail the\nrequests that will result in inconsistent state in the FHIR store. When this field is set to true, the API\nwill skip referential integrity check. Consequently, operations that rely on references, such as\nPatient.get$everything, will not return all the results if broken references exist.\n\n** Changing this property may recreate the FHIR store (removing all data) **.", + "type": "boolean" + }, + "disableResourceVersioning": { + "description": "Immutable. Whether to disable resource versioning for this FHIR store. This field can not be changed after the creation\nof FHIR store. If set to false, which is the default behavior, all write operations will cause historical\nversions to be recorded automatically. The historical versions can be fetched through the history APIs, but\ncannot be updated. If set to true, no historical versions will be kept. The server will send back errors for\nattempts to read the historical versions.\n\n** Changing this property may recreate the FHIR store (removing all data) **.", + "type": "boolean" + }, + "enableHistoryImport": { + "description": "Immutable. Whether to allow the bulk import API to accept history bundles and directly insert historical resource\nversions into the FHIR store. Importing resource histories creates resource interactions that appear to have\noccurred in the past, which clients may not want to allow. If set to false, history bundles within an import\nwill fail with an error.\n\n** Changing this property may recreate the FHIR store (removing all data) **\n\n** This property can be changed manually in the Google Cloud Healthcare admin console without recreating the FHIR store **.", + "type": "boolean" + }, + "enableUpdateCreate": { + "description": "Whether this FHIR store has the updateCreate capability. This determines if the client can use an Update\noperation to create a new resource with a client-specified ID. If false, all IDs are server-assigned through\nthe Create operation and attempts to Update a non-existent resource will return errors. Please treat the audit\nlogs with appropriate levels of care if client-specified resource IDs contain sensitive data such as patient\nidentifiers, those IDs will be part of the FHIR resource path recorded in Cloud audit logs and Cloud Pub/Sub\nnotifications.", + "type": "boolean" + }, + "notificationConfig": { + "description": "A nested object resource.", + "properties": { + "pubsubTopic": { + "description": "The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client.\nPubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message.\nIt is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message\nwas published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a\nproject. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given\nCloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.", + "type": "string" + } + }, + "required": [ + "pubsubTopic" + ], + "type": "object", + "additionalProperties": false + }, + "notificationConfigs": { + "description": "A list of notifcation configs that configure the notification for every resource mutation in this FHIR store.", + "items": { + "properties": { + "pubsubTopic": { + "description": "The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client.\nPubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message.\nIt is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message\nwas published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a\nproject. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given\nCloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.", + "type": "string" + }, + "sendFullResource": { + "description": "Whether to send full FHIR resource to this Pub/Sub topic for Create and Update operation.\nNote that setting this to true does not guarantee that all resources will be sent in the format of\nfull FHIR resource. When a resource change is too large or during heavy traffic, only the resource name will be\nsent. Clients should always check the \"payloadType\" label from a Pub/Sub message to determine whether\nit needs to fetch the full resource as a separate operation.", + "type": "boolean" + }, + "sendPreviousResourceOnDelete": { + "description": "Whether to send full FHIR resource to this Pub/Sub topic for deleting FHIR resource. Note that setting this to\ntrue does not guarantee that all previous resources will be sent in the format of full FHIR resource. When a\nresource change is too large or during heavy traffic, only the resource name will be sent. Clients should always\ncheck the \"payloadType\" label from a Pub/Sub message to determine whether it needs to fetch the full previous\nresource as a separate operation.", + "type": "boolean" + } + }, + "required": [ + "pubsubTopic" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "streamConfigs": { + "description": "A list of streaming configs that configure the destinations of streaming export for every resource mutation in\nthis FHIR store. Each store is allowed to have up to 10 streaming configs. After a new config is added, the next\nresource mutation is streamed to the new location in addition to the existing ones. When a location is removed\nfrom the list, the server stops streaming to that location. Before adding a new config, you must add the required\nbigquery.dataEditor role to your project's Cloud Healthcare Service Agent service account. Some lag (typically on\nthe order of dozens of seconds) is expected before the results show up in the streaming destination.", + "items": { + "properties": { + "bigqueryDestination": { + "description": "The destination BigQuery structure that contains both the dataset location and corresponding schema config.\nThe output is organized in one table per resource type. The server reuses the existing tables (if any) that\nare named after the resource types, e.g. \"Patient\", \"Observation\". When there is no existing table for a given\nresource type, the server attempts to create one.\nSee the [streaming config reference](https://cloud.google.com/healthcare/docs/reference/rest/v1beta1/projects.locations.datasets.fhirStores#streamconfig) for more details.", + "properties": { + "datasetUri": { + "description": "BigQuery URI to a dataset, up to 2000 characters long, in the format bq://projectId.bqDatasetId.", + "type": "string" + }, + "schemaConfig": { + "description": "The configuration for the exported BigQuery schema.", + "properties": { + "lastUpdatedPartitionConfig": { + "description": "The configuration for exported BigQuery tables to be partitioned by FHIR resource's last updated time column.", + "properties": { + "expirationMs": { + "description": "Number of milliseconds for which to keep the storage for a partition.", + "type": "string" + }, + "type": { + "description": "Type of partitioning. Possible values: [\"PARTITION_TYPE_UNSPECIFIED\", \"HOUR\", \"DAY\", \"MONTH\", \"YEAR\"].", + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object", + "additionalProperties": false + }, + "recursiveStructureDepth": { + "description": "The depth for all recursive structures in the output analytics schema. For example, concept in the CodeSystem\nresource is a recursive structure; when the depth is 2, the CodeSystem table will have a column called\nconcept.concept but not concept.concept.concept. If not specified or set to 0, the server will use the default\nvalue 2. The maximum depth allowed is 5.", + "type": "integer" + }, + "schemaType": { + "description": "Specifies the output schema type.\n * ANALYTICS: Analytics schema defined by the FHIR community.\n See https://github.com/FHIR/sql-on-fhir/blob/master/sql-on-fhir.md.\n * ANALYTICS_V2: Analytics V2, similar to schema defined by the FHIR community, with added support for extensions with one or more occurrences and contained resources in stringified JSON.\n * LOSSLESS: A data-driven schema generated from the fields present in the FHIR data being exported, with no additional simplification. Default value: \"ANALYTICS\" Possible values: [\"ANALYTICS\", \"ANALYTICS_V2\", \"LOSSLESS\"].", + "type": "string" + } + }, + "required": [ + "recursiveStructureDepth" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "datasetUri", + "schemaConfig" + ], + "type": "object", + "additionalProperties": false + }, + "resourceTypes": { + "description": "Supply a FHIR resource type (such as \"Patient\" or \"Observation\"). See\nhttps://www.hl7.org/fhir/valueset-resource-types.html for a list of all FHIR resource types. The server treats\nan empty list as an intent to stream all the supported resource types in this FHIR store.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "bigqueryDestination" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "version": { + "description": "Immutable. The FHIR specification version. Default value: \"STU3\" Possible values: [\"DSTU2\", \"STU3\", \"R4\"].", + "type": "string" + } + }, + "required": [ + "dataset" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "selfLink": { + "description": "The fully qualified name of this dataset.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/healthcare.cnrm.cloud.google.com/healthcarehl7v2store_v1alpha1.json b/healthcare.cnrm.cloud.google.com/healthcarehl7v2store_v1alpha1.json new file mode 100644 index 00000000..af2bde75 --- /dev/null +++ b/healthcare.cnrm.cloud.google.com/healthcarehl7v2store_v1alpha1.json @@ -0,0 +1,138 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "dataset": { + "description": "Immutable. Identifies the dataset addressed by this request. Must be in the format\n'projects/{project}/locations/{location}/datasets/{dataset}'.", + "type": "string" + }, + "notificationConfig": { + "description": "DEPRECATED. `notification_config` is deprecated. Use `notification_configs` instead. A nested object resource.", + "properties": { + "pubsubTopic": { + "description": "The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client.\nPubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message.\nIt is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message\nwas published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a\nproject. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given\nCloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.", + "type": "string" + } + }, + "required": [ + "pubsubTopic" + ], + "type": "object", + "additionalProperties": false + }, + "notificationConfigs": { + "description": "A list of notification configs. Each configuration uses a filter to determine whether to publish a\nmessage (both Ingest & Create) on the corresponding notification destination. Only the message name\nis sent as part of the notification. Supplied by the client.", + "items": { + "properties": { + "filter": { + "description": "Restricts notifications sent for messages matching a filter. If this is empty, all messages\nare matched. Syntax: https://cloud.google.com/appengine/docs/standard/python/search/query_strings\n\nFields/functions available for filtering are:\n\n* messageType, from the MSH-9.1 field. For example, NOT messageType = \"ADT\".\n* send_date or sendDate, the YYYY-MM-DD date the message was sent in the dataset's timeZone, from the MSH-7 segment. For example, send_date < \"2017-01-02\".\n* sendTime, the timestamp when the message was sent, using the RFC3339 time format for comparisons, from the MSH-7 segment. For example, sendTime < \"2017-01-02T00:00:00-05:00\".\n* sendFacility, the care center that the message came from, from the MSH-4 segment. For example, sendFacility = \"ABC\".\n* PatientId(value, type), which matches if the message lists a patient having an ID of the given value and type in the PID-2, PID-3, or PID-4 segments. For example, PatientId(\"123456\", \"MRN\").\n* labels.x, a string value of the label with key x as set using the Message.labels map. For example, labels.\"priority\"=\"high\". The operator :* can be used to assert the existence of a label. For example, labels.\"priority\":*.", + "type": "string" + }, + "pubsubTopic": { + "description": "The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client.\nPubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message.\nIt is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message\nwas published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a\nproject. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given\nCloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.\n\nIf a notification cannot be published to Cloud Pub/Sub, errors will be logged to Stackdriver.", + "type": "string" + } + }, + "required": [ + "pubsubTopic" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "parserConfig": { + "description": "A nested object resource.", + "properties": { + "allowNullHeader": { + "description": "Determines whether messages with no header are allowed.", + "type": "boolean" + }, + "schema": { + "description": "JSON encoded string for schemas used to parse messages in this\nstore if schematized parsing is desired.", + "type": "string" + }, + "segmentTerminator": { + "description": "Byte(s) to be used as the segment terminator. If this is unset, '\\r' will be used as segment terminator.\n\nA base64-encoded string.", + "type": "string" + }, + "version": { + "description": "Immutable. The version of the unschematized parser to be used when a custom 'schema' is not set. Default value: \"V1\" Possible values: [\"V1\", \"V2\", \"V3\"].", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "dataset" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "selfLink": { + "description": "The fully qualified name of this dataset.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/identityplatform.cnrm.cloud.google.com/identityplatformdefaultsupportedidpconfig_v1alpha1.json b/identityplatform.cnrm.cloud.google.com/identityplatformdefaultsupportedidpconfig_v1alpha1.json new file mode 100644 index 00000000..23dc9656 --- /dev/null +++ b/identityplatform.cnrm.cloud.google.com/identityplatformdefaultsupportedidpconfig_v1alpha1.json @@ -0,0 +1,140 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "clientId": { + "description": "OAuth client ID.", + "type": "string" + }, + "clientSecret": { + "description": "OAuth client secret.", + "type": "string" + }, + "enabled": { + "description": "If this IDP allows the user to sign in.", + "type": "boolean" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The idpId of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "clientId", + "clientSecret", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The name of the DefaultSupportedIdpConfig resource.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/identityplatform.cnrm.cloud.google.com/identityplatforminboundsamlconfig_v1alpha1.json b/identityplatform.cnrm.cloud.google.com/identityplatforminboundsamlconfig_v1alpha1.json new file mode 100644 index 00000000..ef56cd02 --- /dev/null +++ b/identityplatform.cnrm.cloud.google.com/identityplatforminboundsamlconfig_v1alpha1.json @@ -0,0 +1,200 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "displayName": { + "description": "Human friendly display name.", + "type": "string" + }, + "enabled": { + "description": "If this config allows users to sign in with the provider.", + "type": "boolean" + }, + "idpConfig": { + "description": "SAML IdP configuration when the project acts as the relying party.", + "properties": { + "idpCertificates": { + "description": "The IdP's certificate data to verify the signature in the SAMLResponse issued by the IDP.", + "items": { + "properties": { + "x509Certificate": { + "description": "The IdP's x509 certificate.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "idpEntityId": { + "description": "Unique identifier for all SAML entities.", + "type": "string" + }, + "signRequest": { + "description": "Indicates if outbounding SAMLRequest should be signed.", + "type": "boolean" + }, + "ssoUrl": { + "description": "URL to send Authentication request to.", + "type": "string" + } + }, + "required": [ + "idpCertificates", + "idpEntityId", + "ssoUrl" + ], + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "spConfig": { + "description": "SAML SP (Service Provider) configuration when the project acts as the relying party to receive\nand accept an authentication assertion issued by a SAML identity provider.", + "properties": { + "callbackUri": { + "description": "Callback URI where responses from IDP are handled. Must start with 'https://'.", + "type": "string" + }, + "spCertificates": { + "description": "The IDP's certificate data to verify the signature in the SAMLResponse issued by the IDP.", + "items": { + "properties": { + "x509Certificate": { + "description": "The x509 certificate.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "spEntityId": { + "description": "Unique identifier for all SAML entities.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "displayName", + "idpConfig", + "projectRef", + "spConfig" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/identityplatform.cnrm.cloud.google.com/identityplatformprojectdefaultconfig_v1alpha1.json b/identityplatform.cnrm.cloud.google.com/identityplatformprojectdefaultconfig_v1alpha1.json new file mode 100644 index 00000000..ba78e00b --- /dev/null +++ b/identityplatform.cnrm.cloud.google.com/identityplatformprojectdefaultconfig_v1alpha1.json @@ -0,0 +1,214 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + }, + "signIn": { + "description": "Configuration related to local sign in methods.", + "properties": { + "allowDuplicateEmails": { + "description": "Whether to allow more than one account to have the same email.", + "type": "boolean" + }, + "anonymous": { + "description": "Configuration options related to authenticating an anonymous user.", + "properties": { + "enabled": { + "description": "Whether anonymous user auth is enabled for the project or not.", + "type": "boolean" + } + }, + "required": [ + "enabled" + ], + "type": "object", + "additionalProperties": false + }, + "email": { + "description": "Configuration options related to authenticating a user by their email address.", + "properties": { + "enabled": { + "description": "Whether email auth is enabled for the project or not.", + "type": "boolean" + }, + "passwordRequired": { + "description": "Whether a password is required for email auth or not. If true, both an email and\npassword must be provided to sign in. If false, a user may sign in via either\nemail/password or email link.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "hashConfig": { + "description": "Output only. Hash config information.", + "items": { + "properties": { + "algorithm": { + "description": "Different password hash algorithms used in Identity Toolkit.", + "type": "string" + }, + "memoryCost": { + "description": "Memory cost for hash calculation. Used by scrypt and other similar password derivation algorithms. See https://tools.ietf.org/html/rfc7914 for explanation of field.", + "type": "integer" + }, + "rounds": { + "description": "How many rounds for hash calculation. Used by scrypt and other similar password derivation algorithms.", + "type": "integer" + }, + "saltSeparator": { + "description": "Non-printable character to be inserted between the salt and plain text password in base64.", + "type": "string" + }, + "signerKey": { + "description": "Signer key in base64.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "phoneNumber": { + "description": "Configuration options related to authenticated a user by their phone number.", + "properties": { + "enabled": { + "description": "Whether phone number auth is enabled for the project or not.", + "type": "boolean" + }, + "testPhoneNumbers": { + "additionalProperties": { + "type": "string" + }, + "description": "A map of that can be used for phone auth testing.", + "type": "object" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The name of the Config resource. Example: \"projects/my-awesome-project/config\".", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/identityplatform.cnrm.cloud.google.com/identityplatformtenantdefaultsupportedidpconfig_v1alpha1.json b/identityplatform.cnrm.cloud.google.com/identityplatformtenantdefaultsupportedidpconfig_v1alpha1.json new file mode 100644 index 00000000..b104d719 --- /dev/null +++ b/identityplatform.cnrm.cloud.google.com/identityplatformtenantdefaultsupportedidpconfig_v1alpha1.json @@ -0,0 +1,145 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "clientId": { + "description": "OAuth client ID.", + "type": "string" + }, + "clientSecret": { + "description": "OAuth client secret.", + "type": "string" + }, + "enabled": { + "description": "If this IDP allows the user to sign in.", + "type": "boolean" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The idpId of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "tenant": { + "description": "Immutable. The name of the tenant where this DefaultSupportedIdpConfig resource exists.", + "type": "string" + } + }, + "required": [ + "clientId", + "clientSecret", + "projectRef", + "tenant" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The name of the default supported IDP config resource.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/identityplatform.cnrm.cloud.google.com/identityplatformtenantinboundsamlconfig_v1alpha1.json b/identityplatform.cnrm.cloud.google.com/identityplatformtenantinboundsamlconfig_v1alpha1.json new file mode 100644 index 00000000..ed1e100b --- /dev/null +++ b/identityplatform.cnrm.cloud.google.com/identityplatformtenantinboundsamlconfig_v1alpha1.json @@ -0,0 +1,209 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "displayName": { + "description": "Human friendly display name.", + "type": "string" + }, + "enabled": { + "description": "If this config allows users to sign in with the provider.", + "type": "boolean" + }, + "idpConfig": { + "description": "SAML IdP configuration when the project acts as the relying party.", + "properties": { + "idpCertificates": { + "description": "The IDP's certificate data to verify the signature in the SAMLResponse issued by the IDP.", + "items": { + "properties": { + "x509Certificate": { + "description": "The x509 certificate.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "idpEntityId": { + "description": "Unique identifier for all SAML entities.", + "type": "string" + }, + "signRequest": { + "description": "Indicates if outbounding SAMLRequest should be signed.", + "type": "boolean" + }, + "ssoUrl": { + "description": "URL to send Authentication request to.", + "type": "string" + } + }, + "required": [ + "idpCertificates", + "idpEntityId", + "ssoUrl" + ], + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "spConfig": { + "description": "SAML SP (Service Provider) configuration when the project acts as the relying party to receive\nand accept an authentication assertion issued by a SAML identity provider.", + "properties": { + "callbackUri": { + "description": "Callback URI where responses from IDP are handled. Must start with 'https://'.", + "type": "string" + }, + "spCertificates": { + "description": "The IDP's certificate data to verify the signature in the SAMLResponse issued by the IDP.", + "items": { + "properties": { + "x509Certificate": { + "description": "The x509 certificate.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "spEntityId": { + "description": "Unique identifier for all SAML entities.", + "type": "string" + } + }, + "required": [ + "callbackUri", + "spEntityId" + ], + "type": "object", + "additionalProperties": false + }, + "tenant": { + "description": "Immutable. The name of the tenant where this inbound SAML config resource exists.", + "type": "string" + } + }, + "required": [ + "displayName", + "idpConfig", + "projectRef", + "spConfig", + "tenant" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/kms.cnrm.cloud.google.com/kmscryptokeyversion_v1alpha1.json b/kms.cnrm.cloud.google.com/kmscryptokeyversion_v1alpha1.json new file mode 100644 index 00000000..8f90c825 --- /dev/null +++ b/kms.cnrm.cloud.google.com/kmscryptokeyversion_v1alpha1.json @@ -0,0 +1,148 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "cryptoKey": { + "description": "Immutable. The name of the cryptoKey associated with the CryptoKeyVersions.\nFormat: ''projects/{{project}}/locations/{{location}}/keyRings/{{keyring}}/cryptoKeys/{{cryptoKey}}''.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + }, + "state": { + "description": "The current state of the CryptoKeyVersion. Possible values: [\"PENDING_GENERATION\", \"ENABLED\", \"DISABLED\", \"DESTROYED\", \"DESTROY_SCHEDULED\", \"PENDING_IMPORT\", \"IMPORT_FAILED\"].", + "type": "string" + } + }, + "required": [ + "cryptoKey" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "algorithm": { + "description": "The CryptoKeyVersionAlgorithm that this CryptoKeyVersion supports.", + "type": "string" + }, + "attestation": { + "description": "Statement that was generated and signed by the HSM at key creation time. Use this statement to verify attributes of the key as stored on the HSM, independently of Google.\nOnly provided for key versions with protectionLevel HSM.", + "items": { + "properties": { + "certChains": { + "description": "The certificate chains needed to validate the attestation.", + "properties": { + "caviumCerts": { + "description": "Cavium certificate chain corresponding to the attestation.", + "type": "string" + }, + "googleCardCerts": { + "description": "Google card certificate chain corresponding to the attestation.", + "type": "string" + }, + "googlePartitionCerts": { + "description": "Google partition certificate chain corresponding to the attestation.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "content": { + "description": "The attestation data provided by the HSM when the key operation was performed.", + "type": "string" + }, + "externalProtectionLevelOptions": { + "description": "ExternalProtectionLevelOptions stores a group of additional fields for configuring a CryptoKeyVersion that are specific to the EXTERNAL protection level and EXTERNAL_VPC protection levels.", + "properties": { + "ekmConnectionKeyPath": { + "description": "The path to the external key material on the EKM when using EkmConnection e.g., \"v0/my/key\". Set this field instead of externalKeyUri when using an EkmConnection.", + "type": "string" + }, + "externalKeyUri": { + "description": "The URI for an external resource that this CryptoKeyVersion represents.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "format": { + "description": "The format of the attestation data.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "generateTime": { + "description": "The time this CryptoKeyVersion key material was generated.", + "type": "string" + }, + "name": { + "description": "The resource name for this CryptoKeyVersion.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "protectionLevel": { + "description": "The ProtectionLevel describing how crypto operations are performed with this CryptoKeyVersion.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/kms.cnrm.cloud.google.com/kmskeyringimportjob_v1alpha1.json b/kms.cnrm.cloud.google.com/kmskeyringimportjob_v1alpha1.json new file mode 100644 index 00000000..d06505a3 --- /dev/null +++ b/kms.cnrm.cloud.google.com/kmskeyringimportjob_v1alpha1.json @@ -0,0 +1,135 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "importJobId": { + "description": "Immutable. It must be unique within a KeyRing and match the regular expression [a-zA-Z0-9_-]{1,63}.", + "type": "string" + }, + "importMethod": { + "description": "Immutable. The wrapping method to be used for incoming key material. Possible values: [\"RSA_OAEP_3072_SHA1_AES_256\", \"RSA_OAEP_4096_SHA1_AES_256\"].", + "type": "string" + }, + "keyRing": { + "description": "Immutable. The KeyRing that this import job belongs to.\nFormat: ''projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}''.", + "type": "string" + }, + "protectionLevel": { + "description": "Immutable. The protection level of the ImportJob. This must match the protectionLevel of the\nversionTemplate on the CryptoKey you attempt to import into. Possible values: [\"SOFTWARE\", \"HSM\", \"EXTERNAL\"].", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + } + }, + "required": [ + "importJobId", + "importMethod", + "keyRing", + "protectionLevel" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "attestation": { + "description": "Statement that was generated and signed by the key creator (for example, an HSM) at key creation time.\nUse this statement to verify attributes of the key as stored on the HSM, independently of Google.\nOnly present if the chosen ImportMethod is one with a protection level of HSM.", + "items": { + "properties": { + "content": { + "description": "The attestation data provided by the HSM when the key operation was performed.\nA base64-encoded string.", + "type": "string" + }, + "format": { + "description": "The format of the attestation data.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "expireTime": { + "description": "The time at which this resource is scheduled for expiration and can no longer be used.\nThis is in RFC3339 text format.", + "type": "string" + }, + "name": { + "description": "The resource name for this ImportJob in the format projects/*/locations/*/keyRings/*/importJobs/*.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "publicKey": { + "description": "The public key with which to wrap key material prior to import. Only returned if state is 'ACTIVE'.", + "items": { + "properties": { + "pem": { + "description": "The public key, encoded in PEM format. For more information, see the RFC 7468 sections\nfor General Considerations and Textual Encoding of Subject Public Key Info.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "state": { + "description": "The current state of the ImportJob, indicating if it can be used.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/kms.cnrm.cloud.google.com/kmssecretciphertext_v1alpha1.json b/kms.cnrm.cloud.google.com/kmssecretciphertext_v1alpha1.json new file mode 100644 index 00000000..4ae94a36 --- /dev/null +++ b/kms.cnrm.cloud.google.com/kmssecretciphertext_v1alpha1.json @@ -0,0 +1,199 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "additionalAuthenticatedData": { + "description": "Immutable. The additional authenticated data used for integrity checks during encryption and decryption.", + "oneOf": [ + { + "not": { + "required": [ + "valueFrom" + ] + }, + "required": [ + "value" + ] + }, + { + "not": { + "required": [ + "value" + ] + }, + "required": [ + "valueFrom" + ] + } + ], + "properties": { + "value": { + "description": "Value of the field. Cannot be used if 'valueFrom' is specified.", + "type": "string" + }, + "valueFrom": { + "description": "Source for the field's value. Cannot be used if 'value' is specified.", + "properties": { + "secretKeyRef": { + "description": "Reference to a value with the given key in the given Secret in the resource's namespace.", + "properties": { + "key": { + "description": "Key that identifies the value to be extracted.", + "type": "string" + }, + "name": { + "description": "Name of the Secret to extract a value from.", + "type": "string" + } + }, + "required": [ + "name", + "key" + ], + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "cryptoKey": { + "description": "Immutable. The full name of the CryptoKey that will be used to encrypt the provided plaintext.\nFormat: ''projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}/cryptoKeys/{{cryptoKey}}''.", + "type": "string" + }, + "plaintext": { + "description": "Immutable. The plaintext to be encrypted.", + "oneOf": [ + { + "not": { + "required": [ + "valueFrom" + ] + }, + "required": [ + "value" + ] + }, + { + "not": { + "required": [ + "value" + ] + }, + "required": [ + "valueFrom" + ] + } + ], + "properties": { + "value": { + "description": "Value of the field. Cannot be used if 'valueFrom' is specified.", + "type": "string" + }, + "valueFrom": { + "description": "Source for the field's value. Cannot be used if 'value' is specified.", + "properties": { + "secretKeyRef": { + "description": "Reference to a value with the given key in the given Secret in the resource's namespace.", + "properties": { + "key": { + "description": "Key that identifies the value to be extracted.", + "type": "string" + }, + "name": { + "description": "Name of the Secret to extract a value from.", + "type": "string" + } + }, + "required": [ + "name", + "key" + ], + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated ciphertext of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + } + }, + "required": [ + "cryptoKey", + "plaintext" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "ciphertext": { + "description": "Contains the result of encrypting the provided plaintext, encoded in base64.", + "type": "string" + }, + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/mlengine.cnrm.cloud.google.com/mlenginemodel_v1alpha1.json b/mlengine.cnrm.cloud.google.com/mlenginemodel_v1alpha1.json new file mode 100644 index 00000000..d9418d36 --- /dev/null +++ b/mlengine.cnrm.cloud.google.com/mlenginemodel_v1alpha1.json @@ -0,0 +1,155 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "defaultVersion": { + "description": "Immutable. The default version of the model. This version will be used to handle\nprediction requests that do not specify a version.", + "properties": { + "name": { + "description": "Immutable. The name specified for the version when it was created.", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "description": { + "description": "Immutable. The description specified for the model when it was created.", + "type": "string" + }, + "onlinePredictionConsoleLogging": { + "description": "Immutable. If true, online prediction nodes send stderr and stdout streams to Stackdriver Logging.", + "type": "boolean" + }, + "onlinePredictionLogging": { + "description": "Immutable. If true, online prediction access logs are sent to StackDriver Logging.", + "type": "boolean" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "regions": { + "description": "Immutable. The list of regions where the model is going to be deployed.\nCurrently only one region per model is supported.", + "items": { + "type": "string" + }, + "type": "array" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/networkmanagement.cnrm.cloud.google.com/networkmanagementconnectivitytest_v1alpha1.json b/networkmanagement.cnrm.cloud.google.com/networkmanagementconnectivitytest_v1alpha1.json new file mode 100644 index 00000000..8fd8a9bf --- /dev/null +++ b/networkmanagement.cnrm.cloud.google.com/networkmanagementconnectivitytest_v1alpha1.json @@ -0,0 +1,197 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "description": { + "description": "The user-supplied description of the Connectivity Test.\nMaximum of 512 characters.", + "type": "string" + }, + "destination": { + "description": "Required. Destination specification of the Connectivity Test.\n\nYou can use a combination of destination IP address, Compute\nEngine VM instance, or VPC network to uniquely identify the\ndestination location.\n\nEven if the destination IP address is not unique, the source IP\nlocation is unique. Usually, the analysis can infer the destination\nendpoint from route information.\n\nIf the destination you specify is a VM instance and the instance has\nmultiple network interfaces, then you must also specify either a\ndestination IP address or VPC network to identify the destination\ninterface.\n\nA reachability analysis proceeds even if the destination location\nis ambiguous. However, the result can include endpoints that you\ndon't intend to test.", + "properties": { + "instance": { + "description": "A Compute Engine instance URI.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address of the endpoint, which can be an external or\ninternal IP. An IPv6 address is only allowed when the test's\ndestination is a global load balancer VIP.", + "type": "string" + }, + "network": { + "description": "A Compute Engine network URI.", + "type": "string" + }, + "port": { + "description": "The IP protocol port of the endpoint. Only applicable when\nprotocol is TCP or UDP.", + "type": "integer" + }, + "projectId": { + "description": "Project ID where the endpoint is located. The Project ID can be\nderived from the URI if you provide a VM instance or network URI.\nThe following are two cases where you must provide the project ID:\n1. Only the IP address is specified, and the IP address is within\na GCP project. 2. When you are using Shared VPC and the IP address\nthat you provide is from the service project. In this case, the\nnetwork that the IP address resides in is defined in the host\nproject.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "protocol": { + "description": "IP Protocol of the test. When not provided, \"TCP\" is assumed.", + "type": "string" + }, + "relatedProjects": { + "description": "Other projects that may be relevant for reachability analysis.\nThis is applicable to scenarios where a test can cross project\nboundaries.", + "items": { + "type": "string" + }, + "type": "array" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "source": { + "description": "Required. Source specification of the Connectivity Test.\n\nYou can use a combination of source IP address, virtual machine\n(VM) instance, or Compute Engine network to uniquely identify the\nsource location.\n\nExamples: If the source IP address is an internal IP address within\na Google Cloud Virtual Private Cloud (VPC) network, then you must\nalso specify the VPC network. Otherwise, specify the VM instance,\nwhich already contains its internal IP address and VPC network\ninformation.\n\nIf the source of the test is within an on-premises network, then\nyou must provide the destination VPC network.\n\nIf the source endpoint is a Compute Engine VM instance with multiple\nnetwork interfaces, the instance itself is not sufficient to\nidentify the endpoint. So, you must also specify the source IP\naddress or VPC network.\n\nA reachability analysis proceeds even if the source location is\nambiguous. However, the test result may include endpoints that\nyou don't intend to test.", + "properties": { + "instance": { + "description": "A Compute Engine instance URI.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address of the endpoint, which can be an external or\ninternal IP. An IPv6 address is only allowed when the test's\ndestination is a global load balancer VIP.", + "type": "string" + }, + "network": { + "description": "A Compute Engine network URI.", + "type": "string" + }, + "networkType": { + "description": "Type of the network where the endpoint is located. Possible values: [\"GCP_NETWORK\", \"NON_GCP_NETWORK\"].", + "type": "string" + }, + "port": { + "description": "The IP protocol port of the endpoint. Only applicable when\nprotocol is TCP or UDP.", + "type": "integer" + }, + "projectId": { + "description": "Project ID where the endpoint is located. The Project ID can be\nderived from the URI if you provide a VM instance or network URI.\nThe following are two cases where you must provide the project ID:\n\n1. Only the IP address is specified, and the IP address is\n within a GCP project.\n2. When you are using Shared VPC and the IP address\n that you provide is from the service project. In this case,\n the network that the IP address resides in is defined in the\n host project.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "destination", + "projectRef", + "source" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/networkservices.cnrm.cloud.google.com/networkservicesedgecachekeyset_v1alpha1.json b/networkservices.cnrm.cloud.google.com/networkservicesedgecachekeyset_v1alpha1.json new file mode 100644 index 00000000..e103358e --- /dev/null +++ b/networkservices.cnrm.cloud.google.com/networkservicesedgecachekeyset_v1alpha1.json @@ -0,0 +1,223 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "description": { + "description": "A human-readable description of the resource.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "publicKey": { + "description": "An ordered list of Ed25519 public keys to use for validating signed requests.\nYou must specify 'public_keys' or 'validation_shared_keys' (or both). The keys in 'public_keys' are checked first.\nYou may specify no more than one Google-managed public key.\nIf you specify 'public_keys', you must specify at least one (1) key and may specify up to three (3) keys.\n\nEd25519 public keys are not secret, and only allow Google to validate a request was signed by your corresponding private key.\nEnsure that the private key is kept secret, and that only authorized users can add public keys to a keyset.", + "items": { + "properties": { + "id": { + "description": "The ID of the public key. The ID must be 1-63 characters long, and comply with RFC1035.\nThe name must be 1-64 characters long, and match the regular expression [a-zA-Z][a-zA-Z0-9_-]*\nwhich means the first character must be a letter, and all following characters must be a dash, underscore, letter or digit.", + "type": "string" + }, + "managed": { + "description": "Set to true to have the CDN automatically manage this public key value.", + "type": "boolean" + }, + "value": { + "description": "The base64-encoded value of the Ed25519 public key. The base64 encoding can be padded (44 bytes) or unpadded (43 bytes).\nRepresentations or encodings of the public key other than this will be rejected with an error.", + "oneOf": [ + { + "not": { + "required": [ + "valueFrom" + ] + }, + "required": [ + "value" + ] + }, + { + "not": { + "required": [ + "value" + ] + }, + "required": [ + "valueFrom" + ] + } + ], + "properties": { + "value": { + "description": "Value of the field. Cannot be used if 'valueFrom' is specified.", + "type": "string" + }, + "valueFrom": { + "description": "Source for the field's value. Cannot be used if 'value' is specified.", + "properties": { + "secretKeyRef": { + "description": "Reference to a value with the given key in the given Secret in the resource's namespace.", + "properties": { + "key": { + "description": "Key that identifies the value to be extracted.", + "type": "string" + }, + "name": { + "description": "Name of the Secret to extract a value from.", + "type": "string" + } + }, + "required": [ + "name", + "key" + ], + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "id" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "validationSharedKeys": { + "description": "An ordered list of shared keys to use for validating signed requests.\nShared keys are secret. Ensure that only authorized users can add 'validation_shared_keys' to a keyset.\nYou can rotate keys by appending (pushing) a new key to the list of 'validation_shared_keys' and removing any superseded keys.\nYou must specify 'public_keys' or 'validation_shared_keys' (or both). The keys in 'public_keys' are checked first.", + "items": { + "properties": { + "secretVersion": { + "description": "The name of the secret version in Secret Manager.\n\nThe resource name of the secret version must be in the format 'projects/*/secrets/*/versions/*' where the '*' values are replaced by the secrets themselves.\nThe secrets must be at least 16 bytes large. The recommended secret size depends on the signature algorithm you are using.\n* If you are using HMAC-SHA1, we suggest 20-byte secrets.\n* If you are using HMAC-SHA256, we suggest 32-byte secrets.\nSee RFC 2104, Section 3 for more details on these recommendations.", + "type": "string" + } + }, + "required": [ + "secretVersion" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/networkservices.cnrm.cloud.google.com/networkservicesedgecacheorigin_v1alpha1.json b/networkservices.cnrm.cloud.google.com/networkservicesedgecacheorigin_v1alpha1.json new file mode 100644 index 00000000..e0d9f8d0 --- /dev/null +++ b/networkservices.cnrm.cloud.google.com/networkservicesedgecacheorigin_v1alpha1.json @@ -0,0 +1,266 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "awsV4Authentication": { + "description": "Enable AWS Signature Version 4 origin authentication.", + "properties": { + "accessKeyId": { + "description": "The access key ID your origin uses to identify the key.", + "type": "string" + }, + "originRegion": { + "description": "The name of the AWS region that your origin is in.", + "type": "string" + }, + "secretAccessKeyVersion": { + "description": "The Secret Manager secret version of the secret access key used by your origin.\n\nThis is the resource name of the secret version in the format 'projects/*/secrets/*/versions/*' where the '*' values are replaced by the project, secret, and version you require.", + "type": "string" + } + }, + "required": [ + "accessKeyId", + "originRegion", + "secretAccessKeyVersion" + ], + "type": "object", + "additionalProperties": false + }, + "description": { + "description": "A human-readable description of the resource.", + "type": "string" + }, + "failoverOrigin": { + "description": "The Origin resource to try when the current origin cannot be reached.\nAfter maxAttempts is reached, the configured failoverOrigin will be used to fulfil the request.\n\nThe value of timeout.maxAttemptsTimeout dictates the timeout across all origins.\nA reference to a Topic resource.", + "type": "string" + }, + "maxAttempts": { + "description": "The maximum number of attempts to cache fill from this origin. Another attempt is made when a cache fill fails with one of the retryConditions.\n\nOnce maxAttempts to this origin have failed the failoverOrigin will be used, if one is specified. That failoverOrigin may specify its own maxAttempts,\nretryConditions and failoverOrigin to control its own cache fill failures.\n\nThe total number of allowed attempts to cache fill across this and failover origins is limited to four.\nThe total time allowed for cache fill attempts across this and failover origins can be controlled with maxAttemptsTimeout.\n\nThe last valid, non-retried response from all origins will be returned to the client.\nIf no origin returns a valid response, an HTTP 502 will be returned to the client.\n\nDefaults to 1. Must be a value greater than 0 and less than 4.", + "type": "integer" + }, + "originAddress": { + "description": "A fully qualified domain name (FQDN) or IP address reachable over the public Internet, or the address of a Google Cloud Storage bucket.\n\nThis address will be used as the origin for cache requests - e.g. FQDN: media-backend.example.com, IPv4: 35.218.1.1, IPv6: 2607:f8b0:4012:809::200e, Cloud Storage: gs://bucketname\n\nWhen providing an FQDN (hostname), it must be publicly resolvable (e.g. via Google public DNS) and IP addresses must be publicly routable. It must not contain a protocol (e.g., https://) and it must not contain any slashes.\nIf a Cloud Storage bucket is provided, it must be in the canonical \"gs://bucketname\" format. Other forms, such as \"storage.googleapis.com\", will be rejected.", + "type": "string" + }, + "originOverrideAction": { + "description": "The override actions, including url rewrites and header\nadditions, for requests that use this origin.", + "properties": { + "headerAction": { + "description": "The header actions, including adding and removing\nheaders, for request handled by this origin.", + "properties": { + "requestHeadersToAdd": { + "description": "Describes a header to add.\n\nYou may add a maximum of 25 request headers.", + "items": { + "properties": { + "headerName": { + "description": "The name of the header to add.", + "type": "string" + }, + "headerValue": { + "description": "The value of the header to add.", + "type": "string" + }, + "replace": { + "description": "Whether to replace all existing headers with the same name.\n\nBy default, added header values are appended\nto the response or request headers with the\nsame field names. The added values are\nseparated by commas.\n\nTo overwrite existing values, set 'replace' to 'true'.", + "type": "boolean" + } + }, + "required": [ + "headerName", + "headerValue" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "type": "object", + "additionalProperties": false + }, + "urlRewrite": { + "description": "The URL rewrite configuration for request that are\nhandled by this origin.", + "properties": { + "hostRewrite": { + "description": "Prior to forwarding the request to the selected\norigin, the request's host header is replaced with\ncontents of the hostRewrite.\n\nThis value must be between 1 and 255 characters.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "originRedirect": { + "description": "Follow redirects from this origin.", + "properties": { + "redirectConditions": { + "description": "The set of redirect response codes that the CDN\nfollows. Values of\n[RedirectConditions](https://cloud.google.com/media-cdn/docs/reference/rest/v1/projects.locations.edgeCacheOrigins#redirectconditions)\nare accepted.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object", + "additionalProperties": false + }, + "port": { + "description": "The port to connect to the origin on.\nDefaults to port 443 for HTTP2 and HTTPS protocols, and port 80 for HTTP.", + "type": "integer" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "protocol": { + "description": "The protocol to use to connect to the configured origin. Defaults to HTTP2, and it is strongly recommended that users use HTTP2 for both security & performance.\n\nWhen using HTTP2 or HTTPS as the protocol, a valid, publicly-signed, unexpired TLS (SSL) certificate must be presented by the origin server. Possible values: [\"HTTP2\", \"HTTPS\", \"HTTP\"].", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "retryConditions": { + "description": "Specifies one or more retry conditions for the configured origin.\n\nIf the failure mode during a connection attempt to the origin matches the configured retryCondition(s),\nthe origin request will be retried up to maxAttempts times. The failoverOrigin, if configured, will then be used to satisfy the request.\n\nThe default retryCondition is \"CONNECT_FAILURE\".\n\nretryConditions apply to this origin, and not subsequent failoverOrigin(s),\nwhich may specify their own retryConditions and maxAttempts.\n\nValid values are:\n\n- CONNECT_FAILURE: Retry on failures connecting to origins, for example due to connection timeouts.\n- HTTP_5XX: Retry if the origin responds with any 5xx response code, or if the origin does not respond at all, example: disconnects, reset, read timeout, connection failure, and refused streams.\n- GATEWAY_ERROR: Similar to 5xx, but only applies to response codes 502, 503 or 504.\n- RETRIABLE_4XX: Retry for retriable 4xx response codes, which include HTTP 409 (Conflict) and HTTP 429 (Too Many Requests)\n- NOT_FOUND: Retry if the origin returns a HTTP 404 (Not Found). This can be useful when generating video content, and the segment is not available yet.\n- FORBIDDEN: Retry if the origin returns a HTTP 403 (Forbidden). Possible values: [\"CONNECT_FAILURE\", \"HTTP_5XX\", \"GATEWAY_ERROR\", \"RETRIABLE_4XX\", \"NOT_FOUND\", \"FORBIDDEN\"].", + "items": { + "type": "string" + }, + "type": "array" + }, + "timeout": { + "description": "The connection and HTTP timeout configuration for this origin.", + "properties": { + "connectTimeout": { + "description": "The maximum duration to wait for a single origin connection to be established, including DNS lookup, TLS handshake and TCP/QUIC connection establishment.\n\nDefaults to 5 seconds. The timeout must be a value between 1s and 15s.\n\nThe connectTimeout capped by the deadline set by the request's maxAttemptsTimeout. The last connection attempt may have a smaller connectTimeout in order to adhere to the overall maxAttemptsTimeout.", + "type": "string" + }, + "maxAttemptsTimeout": { + "description": "The maximum time across all connection attempts to the origin, including failover origins, before returning an error to the client. A HTTP 504 will be returned if the timeout is reached before a response is returned.\n\nDefaults to 15 seconds. The timeout must be a value between 1s and 30s.\n\nIf a failoverOrigin is specified, the maxAttemptsTimeout of the first configured origin sets the deadline for all connection attempts across all failoverOrigins.", + "type": "string" + }, + "readTimeout": { + "description": "The maximum duration to wait between reads of a single HTTP connection/stream.\n\nDefaults to 15 seconds. The timeout must be a value between 1s and 30s.\n\nThe readTimeout is capped by the responseTimeout. All reads of the HTTP connection/stream must be completed by the deadline set by the responseTimeout.\n\nIf the response headers have already been written to the connection, the response will be truncated and logged.", + "type": "string" + }, + "responseTimeout": { + "description": "The maximum duration to wait for the last byte of a response to arrive when reading from the HTTP connection/stream.\n\nDefaults to 30 seconds. The timeout must be a value between 1s and 120s.\n\nThe responseTimeout starts after the connection has been established.\n\nThis also applies to HTTP Chunked Transfer Encoding responses, and/or when an open-ended Range request is made to the origin. Origins that take longer to write additional bytes to the response than the configured responseTimeout will result in an error being returned to the client.\n\nIf the response headers have already been written to the connection, the response will be truncated and logged.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "originAddress", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/networkservices.cnrm.cloud.google.com/networkservicesedgecacheservice_v1alpha1.json b/networkservices.cnrm.cloud.google.com/networkservicesedgecacheservice_v1alpha1.json new file mode 100644 index 00000000..0f2cdb28 --- /dev/null +++ b/networkservices.cnrm.cloud.google.com/networkservicesedgecacheservice_v1alpha1.json @@ -0,0 +1,706 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "description": { + "description": "A human-readable description of the resource.", + "type": "string" + }, + "disableHttp2": { + "description": "Disables HTTP/2.\n\nHTTP/2 (h2) is enabled by default and recommended for performance. HTTP/2 improves connection re-use and reduces connection setup overhead by sending multiple streams over the same connection.\n\nSome legacy HTTP clients may have issues with HTTP/2 connections due to broken HTTP/2 implementations. Setting this to true will prevent HTTP/2 from being advertised and negotiated.", + "type": "boolean" + }, + "disableQuic": { + "description": "HTTP/3 (IETF QUIC) and Google QUIC are enabled by default.", + "type": "boolean" + }, + "edgeSecurityPolicy": { + "description": "Resource URL that points at the Cloud Armor edge security policy that is applied on each request against the EdgeCacheService.", + "type": "string" + }, + "edgeSslCertificates": { + "description": "URLs to sslCertificate resources that are used to authenticate connections between users and the EdgeCacheService.\n\nNote that only \"global\" certificates with a \"scope\" of \"EDGE_CACHE\" can be attached to an EdgeCacheService.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logConfig": { + "description": "Specifies the logging options for the traffic served by this service. If logging is enabled, logs will be exported to Cloud Logging.", + "properties": { + "enable": { + "description": "Specifies whether to enable logging for traffic served by this service.", + "type": "boolean" + }, + "sampleRate": { + "description": "Configures the sampling rate of requests, where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported. The default value is 1.0, and the value of the field must be in [0, 1].\n\nThis field can only be specified if logging is enabled for this service.", + "type": "number" + } + }, + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "requireTls": { + "description": "Require TLS (HTTPS) for all clients connecting to this service.\n\nClients who connect over HTTP (port 80) will receive a HTTP 301 to the same URL over HTTPS (port 443).\nYou must have at least one (1) edgeSslCertificate specified to enable this.", + "type": "boolean" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "routing": { + "description": "Defines how requests are routed, modified, cached and/or which origin content is filled from.", + "properties": { + "hostRule": { + "description": "The list of hostRules to match against. These rules define which hostnames the EdgeCacheService will match against, and which route configurations apply.", + "items": { + "properties": { + "description": { + "description": "A human-readable description of the hostRule.", + "type": "string" + }, + "hosts": { + "description": "The list of host patterns to match.\n\nHost patterns must be valid hostnames. Ports are not allowed. Wildcard hosts are supported in the suffix or prefix form. * matches any string of ([a-z0-9-.]*). It does not match the empty string.\n\nWhen multiple hosts are specified, hosts are matched in the following priority:\n\n 1. Exact domain names: ''www.foo.com''.\n 2. Suffix domain wildcards: ''*.foo.com'' or ''*-bar.foo.com''.\n 3. Prefix domain wildcards: ''foo.*'' or ''foo-*''.\n 4. Special wildcard ''*'' matching any domain.\n\n Notes:\n\n The wildcard will not match the empty string. e.g. ''*-bar.foo.com'' will match ''baz-bar.foo.com'' but not ''-bar.foo.com''. The longest wildcards match first. Only a single host in the entire service can match on ''*''. A domain must be unique across all configured hosts within a service.\n\n Hosts are matched against the HTTP Host header, or for HTTP/2 and HTTP/3, the \":authority\" header, from the incoming request.\n\n You may specify up to 10 hosts.", + "items": { + "type": "string" + }, + "type": "array" + }, + "pathMatcher": { + "description": "The name of the pathMatcher associated with this hostRule.", + "type": "string" + } + }, + "required": [ + "hosts", + "pathMatcher" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "pathMatcher": { + "description": "The list of pathMatchers referenced via name by hostRules. PathMatcher is used to match the path portion of the URL when a HostRule matches the URL's host portion.", + "items": { + "properties": { + "description": { + "description": "A human-readable description of the resource.", + "type": "string" + }, + "name": { + "description": "The name to which this PathMatcher is referred by the HostRule.", + "type": "string" + }, + "routeRule": { + "description": "The routeRules to match against. routeRules support advanced routing behaviour, and can match on paths, headers and query parameters, as well as status codes and HTTP methods.", + "items": { + "properties": { + "description": { + "description": "A human-readable description of the routeRule.", + "type": "string" + }, + "headerAction": { + "description": "The header actions, including adding & removing headers, for requests that match this route.", + "properties": { + "requestHeaderToAdd": { + "description": "Describes a header to add.", + "items": { + "properties": { + "headerName": { + "description": "The name of the header to add.", + "type": "string" + }, + "headerValue": { + "description": "The value of the header to add.", + "type": "string" + }, + "replace": { + "description": "Whether to replace all existing headers with the same name.", + "type": "boolean" + } + }, + "required": [ + "headerName", + "headerValue" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "requestHeaderToRemove": { + "description": "A list of header names for headers that need to be removed from the request prior to forwarding the request to the origin.", + "items": { + "properties": { + "headerName": { + "description": "The name of the header to remove.", + "type": "string" + } + }, + "required": [ + "headerName" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "responseHeaderToAdd": { + "description": "Headers to add to the response prior to sending it back to the client.\n\nResponse headers are only sent to the client, and do not have an effect on the cache serving the response.", + "items": { + "properties": { + "headerName": { + "description": "The name of the header to add.", + "type": "string" + }, + "headerValue": { + "description": "The value of the header to add.", + "type": "string" + }, + "replace": { + "description": "Whether to replace all existing headers with the same name.", + "type": "boolean" + } + }, + "required": [ + "headerName", + "headerValue" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "responseHeaderToRemove": { + "description": "A list of header names for headers that need to be removed from the request prior to forwarding the request to the origin.", + "items": { + "properties": { + "headerName": { + "description": "Headers to remove from the response prior to sending it back to the client.\n\nResponse headers are only sent to the client, and do not have an effect on the cache serving the response.", + "type": "string" + } + }, + "required": [ + "headerName" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "type": "object", + "additionalProperties": false + }, + "matchRule": { + "description": "The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates\nwithin a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule.", + "items": { + "properties": { + "fullPathMatch": { + "description": "For satisfying the matchRule condition, the path of the request must exactly match the value specified in fullPathMatch after removing any query parameters and anchor that may be part of the original URL.", + "type": "string" + }, + "headerMatch": { + "description": "Specifies a list of header match criteria, all of which must match corresponding headers in the request.", + "items": { + "properties": { + "exactMatch": { + "description": "The value of the header should exactly match contents of exactMatch.", + "type": "string" + }, + "headerName": { + "description": "The header name to match on.", + "type": "string" + }, + "invertMatch": { + "description": "If set to false (default), the headerMatch is considered a match if the match criteria above are met.\nIf set to true, the headerMatch is considered a match if the match criteria above are NOT met.", + "type": "boolean" + }, + "prefixMatch": { + "description": "The value of the header must start with the contents of prefixMatch.", + "type": "string" + }, + "presentMatch": { + "description": "A header with the contents of headerName must exist. The match takes place whether or not the request's header has a value.", + "type": "boolean" + }, + "suffixMatch": { + "description": "The value of the header must end with the contents of suffixMatch.", + "type": "string" + } + }, + "required": [ + "headerName" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "ignoreCase": { + "description": "Specifies that prefixMatch and fullPathMatch matches are case sensitive.", + "type": "boolean" + }, + "pathTemplateMatch": { + "description": "For satisfying the matchRule condition, the path of the request\nmust match the wildcard pattern specified in pathTemplateMatch\nafter removing any query parameters and anchor that may be part\nof the original URL.\n\npathTemplateMatch must be between 1 and 255 characters\n(inclusive). The pattern specified by pathTemplateMatch may\nhave at most 5 wildcard operators and at most 5 variable\ncaptures in total.", + "type": "string" + }, + "prefixMatch": { + "description": "For satisfying the matchRule condition, the request's path must begin with the specified prefixMatch. prefixMatch must begin with a /.", + "type": "string" + }, + "queryParameterMatch": { + "description": "Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request.", + "items": { + "properties": { + "exactMatch": { + "description": "The queryParameterMatch matches if the value of the parameter exactly matches the contents of exactMatch.", + "type": "string" + }, + "name": { + "description": "The name of the query parameter to match. The query parameter must exist in the request, in the absence of which the request match fails.", + "type": "string" + }, + "presentMatch": { + "description": "Specifies that the queryParameterMatch matches if the request contains the query parameter, irrespective of whether the parameter has a value or not.", + "type": "boolean" + } + }, + "required": [ + "name" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "origin": { + "description": "The Origin resource that requests to this route should fetch from when a matching response is not in cache. Origins can be defined as short names (\"my-origin\") or fully-qualified resource URLs - e.g. \"networkservices.googleapis.com/projects/my-project/global/edgecacheorigins/my-origin\"\n\nOnly one of origin or urlRedirect can be set.", + "type": "string" + }, + "priority": { + "description": "The priority of this route rule, where 1 is the highest priority.\n\nYou cannot configure two or more routeRules with the same priority. Priority for each rule must be set to a number between 1 and 999 inclusive.\n\nPriority numbers can have gaps, which enable you to add or remove rules in the future without affecting the rest of the rules. For example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers\nto which you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the future without any impact on existing rules.", + "type": "string" + }, + "routeAction": { + "description": "In response to a matching path, the routeAction performs advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request to the selected origin.", + "properties": { + "cdnPolicy": { + "description": "The policy to use for defining caching and signed request behaviour for requests that match this route.", + "properties": { + "addSignatures": { + "description": "Enable signature generation or propagation on this route.\n\nThis field may only be specified when signedRequestMode is set to REQUIRE_TOKENS.", + "properties": { + "actions": { + "description": "The actions to take to add signatures to responses. Possible values: [\"GENERATE_COOKIE\", \"GENERATE_TOKEN_HLS_COOKIELESS\", \"PROPAGATE_TOKEN_HLS_COOKIELESS\"].", + "items": { + "type": "string" + }, + "type": "array" + }, + "copiedParameters": { + "description": "The parameters to copy from the verified token to the generated token.\n\nOnly the following parameters may be copied:\n\n * 'PathGlobs'\n * 'paths'\n * 'acl'\n * 'URLPrefix'\n * 'IPRanges'\n * 'SessionID'\n * 'id'\n * 'Data'\n * 'data'\n * 'payload'\n * 'Headers'\n\nYou may specify up to 6 parameters to copy. A given parameter is be copied only if the parameter exists in the verified token. Parameter names are matched exactly as specified. The order of the parameters does not matter. Duplicates are not allowed.\n\nThis field may only be specified when the GENERATE_COOKIE or GENERATE_TOKEN_HLS_COOKIELESS actions are specified.", + "items": { + "type": "string" + }, + "type": "array" + }, + "keyset": { + "description": "The keyset to use for signature generation.\n\nThe following are both valid paths to an EdgeCacheKeyset resource:\n\n * 'projects/project/locations/global/edgeCacheKeysets/yourKeyset'\n * 'yourKeyset'\n\nThis must be specified when the GENERATE_COOKIE or GENERATE_TOKEN_HLS_COOKIELESS actions are specified. This field may not be specified otherwise.", + "type": "string" + }, + "tokenQueryParameter": { + "description": "The query parameter in which to put the generated token.\n\nIf not specified, defaults to 'edge-cache-token'.\n\nIf specified, the name must be 1-64 characters long and match the regular expression '[a-zA-Z]([a-zA-Z0-9_-])*' which means the first character must be a letter, and all following characters must be a dash, underscore, letter or digit.\n\nThis field may only be set when the GENERATE_TOKEN_HLS_COOKIELESS or PROPAGATE_TOKEN_HLS_COOKIELESS actions are specified.", + "type": "string" + }, + "tokenTtl": { + "description": "The duration the token is valid starting from the moment the token is first generated.\n\nDefaults to '86400s' (1 day).\n\nThe TTL must be >= 0 and <= 604,800 seconds (1 week).\n\nThis field may only be specified when the GENERATE_COOKIE or GENERATE_TOKEN_HLS_COOKIELESS actions are specified.\n\nA duration in seconds with up to nine fractional digits, terminated by 's'. Example: \"3.5s\".", + "type": "string" + } + }, + "required": [ + "actions" + ], + "type": "object", + "additionalProperties": false + }, + "cacheKeyPolicy": { + "description": "Defines the request parameters that contribute to the cache key.", + "properties": { + "excludeHost": { + "description": "If true, requests to different hosts will be cached separately.\n\nNote: this should only be enabled if hosts share the same origin and content. Removing the host from the cache key may inadvertently result in different objects being cached than intended, depending on which route the first user matched.", + "type": "boolean" + }, + "excludeQueryString": { + "description": "If true, exclude query string parameters from the cache key\n\nIf false (the default), include the query string parameters in\nthe cache key according to includeQueryParameters and\nexcludeQueryParameters. If neither includeQueryParameters nor\nexcludeQueryParameters is set, the entire query string will be\nincluded.", + "type": "boolean" + }, + "excludedQueryParameters": { + "description": "Names of query string parameters to exclude from cache keys. All other parameters will be included.\n\nEither specify includedQueryParameters or excludedQueryParameters, not both. '&' and '=' will be percent encoded and not treated as delimiters.", + "items": { + "type": "string" + }, + "type": "array" + }, + "includeProtocol": { + "description": "If true, http and https requests will be cached separately.", + "type": "boolean" + }, + "includedCookieNames": { + "description": "Names of Cookies to include in cache keys. The cookie name and cookie value of each cookie named will be used as part of the cache key.\n\nCookie names:\n - must be valid RFC 6265 \"cookie-name\" tokens\n - are case sensitive\n - cannot start with \"Edge-Cache-\" (case insensitive)\n\n Note that specifying several cookies, and/or cookies that have a large range of values (e.g., per-user) will dramatically impact the cache hit rate, and may result in a higher eviction rate and reduced performance.\n\n You may specify up to three cookie names.", + "items": { + "type": "string" + }, + "type": "array" + }, + "includedHeaderNames": { + "description": "Names of HTTP request headers to include in cache keys. The value of the header field will be used as part of the cache key.\n\n- Header names must be valid HTTP RFC 7230 header field values.\n- Header field names are case insensitive\n- To include the HTTP method, use \":method\"\n\nNote that specifying several headers, and/or headers that have a large range of values (e.g. per-user) will dramatically impact the cache hit rate, and may result in a higher eviction rate and reduced performance.", + "items": { + "type": "string" + }, + "type": "array" + }, + "includedQueryParameters": { + "description": "Names of query string parameters to include in cache keys. All other parameters will be excluded.\n\nEither specify includedQueryParameters or excludedQueryParameters, not both. '&' and '=' will be percent encoded and not treated as delimiters.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object", + "additionalProperties": false + }, + "cacheMode": { + "description": "Cache modes allow users to control the behaviour of the cache, what content it should cache automatically, whether to respect origin headers, or whether to unconditionally cache all responses.\n\nFor all cache modes, Cache-Control headers will be passed to the client. Use clientTtl to override what is sent to the client. Possible values: [\"CACHE_ALL_STATIC\", \"USE_ORIGIN_HEADERS\", \"FORCE_CACHE_ALL\", \"BYPASS_CACHE\"].", + "type": "string" + }, + "clientTtl": { + "description": "Specifies a separate client (e.g. browser client) TTL, separate from the TTL used by the edge caches. Leaving this empty will use the same cache TTL for both the CDN and the client-facing response.\n\n- The TTL must be > 0 and <= 86400s (1 day)\n- The clientTtl cannot be larger than the defaultTtl (if set)\n- Fractions of a second are not allowed.\n\nOmit this field to use the defaultTtl, or the max-age set by the origin, as the client-facing TTL.\n\nWhen the cache mode is set to \"USE_ORIGIN_HEADERS\" or \"BYPASS_CACHE\", you must omit this field.\nA duration in seconds terminated by 's'. Example: \"3s\".", + "type": "string" + }, + "defaultTtl": { + "description": "Specifies the default TTL for cached content served by this origin for responses that do not have an existing valid TTL (max-age or s-max-age).\n\nDefaults to 3600s (1 hour).\n\n- The TTL must be >= 0 and <= 31,536,000 seconds (1 year)\n- Setting a TTL of \"0\" means \"always revalidate\" (equivalent to must-revalidate)\n- The value of defaultTTL cannot be set to a value greater than that of maxTTL.\n- Fractions of a second are not allowed.\n- When the cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set in all responses.\n\nNote that infrequently accessed objects may be evicted from the cache before the defined TTL. Objects that expire will be revalidated with the origin.\n\nWhen the cache mode is set to \"USE_ORIGIN_HEADERS\" or \"BYPASS_CACHE\", you must omit this field.\n\nA duration in seconds terminated by 's'. Example: \"3s\".", + "type": "string" + }, + "maxTtl": { + "description": "Specifies the maximum allowed TTL for cached content served by this origin.\n\nDefaults to 86400s (1 day).\n\nCache directives that attempt to set a max-age or s-maxage higher than this, or an Expires header more than maxTtl seconds in the future will be capped at the value of maxTTL, as if it were the value of an s-maxage Cache-Control directive.\n\n- The TTL must be >= 0 and <= 31,536,000 seconds (1 year)\n- Setting a TTL of \"0\" means \"always revalidate\"\n- The value of maxTtl must be equal to or greater than defaultTtl.\n- Fractions of a second are not allowed.\n\nWhen the cache mode is set to \"USE_ORIGIN_HEADERS\", \"FORCE_CACHE_ALL\", or \"BYPASS_CACHE\", you must omit this field.\n\nA duration in seconds terminated by 's'. Example: \"3s\".", + "type": "string" + }, + "negativeCaching": { + "description": "Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects. This can reduce the load on your origin and improve end-user experience by reducing response latency.\n\nBy default, the CDNPolicy will apply the following default TTLs to these status codes:\n\n- HTTP 300 (Multiple Choice), 301, 308 (Permanent Redirects): 10m\n- HTTP 404 (Not Found), 410 (Gone), 451 (Unavailable For Legal Reasons): 120s\n- HTTP 405 (Method Not Found), 414 (URI Too Long), 501 (Not Implemented): 60s\n\nThese defaults can be overridden in negativeCachingPolicy.", + "type": "boolean" + }, + "negativeCachingPolicy": { + "additionalProperties": { + "type": "string" + }, + "description": "Sets a cache TTL for the specified HTTP status code. negativeCaching must be enabled to configure negativeCachingPolicy.\n\n- Omitting the policy and leaving negativeCaching enabled will use the default TTLs for each status code, defined in negativeCaching.\n- TTLs must be >= 0 (where 0 is \"always revalidate\") and <= 86400s (1 day)\n\nNote that when specifying an explicit negativeCachingPolicy, you should take care to specify a cache TTL for all response codes that you wish to cache. The CDNPolicy will not apply any default negative caching when a policy exists.", + "type": "object" + }, + "signedRequestKeyset": { + "description": "The EdgeCacheKeyset containing the set of public keys used to validate signed requests at the edge.", + "type": "string" + }, + "signedRequestMaximumExpirationTtl": { + "description": "Limit how far into the future the expiration time of a signed request may be.\n\nWhen set, a signed request is rejected if its expiration time is later than now + signedRequestMaximumExpirationTtl, where now is the time at which the signed request is first handled by the CDN.\n\n- The TTL must be > 0.\n- Fractions of a second are not allowed.\n\nBy default, signedRequestMaximumExpirationTtl is not set and the expiration time of a signed request may be arbitrarily far into future.", + "type": "string" + }, + "signedRequestMode": { + "description": "Whether to enforce signed requests. The default value is DISABLED, which means all content is public, and does not authorize access.\n\nYou must also set a signedRequestKeyset to enable signed requests.\n\nWhen set to REQUIRE_SIGNATURES, all matching requests will have their signature validated. Requests that were not signed with the corresponding private key, or that are otherwise invalid (expired, do not match the signature, IP address, or header) will be rejected with a HTTP 403 and (if enabled) logged. Possible values: [\"DISABLED\", \"REQUIRE_SIGNATURES\", \"REQUIRE_TOKENS\"].", + "type": "string" + }, + "signedTokenOptions": { + "description": "Additional options for signed tokens.\n\nsignedTokenOptions may only be specified when signedRequestMode is REQUIRE_TOKENS.", + "properties": { + "allowedSignatureAlgorithms": { + "description": "The allowed signature algorithms to use.\n\nDefaults to using only ED25519.\n\nYou may specify up to 3 signature algorithms to use. Possible values: [\"ED25519\", \"HMAC_SHA_256\", \"HMAC_SHA1\"].", + "items": { + "type": "string" + }, + "type": "array" + }, + "tokenQueryParameter": { + "description": "The query parameter in which to find the token.\n\nThe name must be 1-64 characters long and match the regular expression '[a-zA-Z]([a-zA-Z0-9_-])*' which means the first character must be a letter, and all following characters must be a dash, underscore, letter or digit.\n\nDefaults to 'edge-cache-token'.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "corsPolicy": { + "description": "CORSPolicy defines Cross-Origin-Resource-Sharing configuration, including which CORS response headers will be set.", + "properties": { + "allowCredentials": { + "description": "In response to a preflight request, setting this to true indicates that the actual request can include user credentials.\n\nThis translates to the Access-Control-Allow-Credentials response header.", + "type": "boolean" + }, + "allowHeaders": { + "description": "Specifies the content for the Access-Control-Allow-Headers response header.", + "items": { + "type": "string" + }, + "type": "array" + }, + "allowMethods": { + "description": "Specifies the content for the Access-Control-Allow-Methods response header.", + "items": { + "type": "string" + }, + "type": "array" + }, + "allowOrigins": { + "description": "Specifies the list of origins that will be allowed to do CORS requests.\n\nThis translates to the Access-Control-Allow-Origin response header.", + "items": { + "type": "string" + }, + "type": "array" + }, + "disabled": { + "description": "If true, specifies the CORS policy is disabled. The default value is false, which indicates that the CORS policy is in effect.", + "type": "boolean" + }, + "exposeHeaders": { + "description": "Specifies the content for the Access-Control-Allow-Headers response header.", + "items": { + "type": "string" + }, + "type": "array" + }, + "maxAge": { + "description": "Specifies how long results of a preflight request can be cached by a client in seconds. Note that many browser clients enforce a maximum TTL of 600s (10 minutes).\n\n- Setting the value to -1 forces a pre-flight check for all requests (not recommended)\n- A maximum TTL of 86400s can be set, but note that (as above) some clients may force pre-flight checks at a more regular interval.\n- This translates to the Access-Control-Max-Age header.\n\nA duration in seconds with up to nine fractional digits, terminated by 's'. Example: \"3.5s\".", + "type": "string" + } + }, + "required": [ + "maxAge" + ], + "type": "object", + "additionalProperties": false + }, + "urlRewrite": { + "description": "The URL rewrite configuration for requests that match this route.", + "properties": { + "hostRewrite": { + "description": "Prior to forwarding the request to the selected origin, the request's host header is replaced with contents of hostRewrite.", + "type": "string" + }, + "pathPrefixRewrite": { + "description": "Prior to forwarding the request to the selected origin, the matching portion of the request's path is replaced by pathPrefixRewrite.", + "type": "string" + }, + "pathTemplateRewrite": { + "description": "Prior to forwarding the request to the selected origin, if the\nrequest matched a pathTemplateMatch, the matching portion of the\nrequest's path is replaced re-written using the pattern specified\nby pathTemplateRewrite.\n\npathTemplateRewrite must be between 1 and 255 characters\n(inclusive), must start with a '/', and must only use variables\ncaptured by the route's pathTemplate matchers.\n\npathTemplateRewrite may only be used when all of a route's\nMatchRules specify pathTemplate.\n\nOnly one of pathPrefixRewrite and pathTemplateRewrite may be\nspecified.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "urlRedirect": { + "description": "The URL redirect configuration for requests that match this route.", + "properties": { + "hostRedirect": { + "description": "The host that will be used in the redirect response instead of the one that was supplied in the request.", + "type": "string" + }, + "httpsRedirect": { + "description": "If set to true, the URL scheme in the redirected request is set to https. If set to false, the URL scheme of the redirected request will remain the same as that of the request.\n\nThis can only be set if there is at least one (1) edgeSslCertificate set on the service.", + "type": "boolean" + }, + "pathRedirect": { + "description": "The path that will be used in the redirect response instead of the one that was supplied in the request.\n\npathRedirect cannot be supplied together with prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the original request will be used for the redirect.\n\nThe path value must be between 1 and 1024 characters.", + "type": "string" + }, + "prefixRedirect": { + "description": "The prefix that replaces the prefixMatch specified in the routeRule, retaining the remaining portion of the URL before redirecting the request.\n\nprefixRedirect cannot be supplied together with pathRedirect. Supply one alone or neither. If neither is supplied, the path of the original request will be used for the redirect.", + "type": "string" + }, + "redirectResponseCode": { + "description": "The HTTP Status code to use for this RedirectAction.\n\nThe supported values are:\n\n- 'MOVED_PERMANENTLY_DEFAULT', which is the default value and corresponds to 301.\n- 'FOUND', which corresponds to 302.\n- 'SEE_OTHER' which corresponds to 303.\n- 'TEMPORARY_REDIRECT', which corresponds to 307. in this case, the request method will be retained.\n- 'PERMANENT_REDIRECT', which corresponds to 308. in this case, the request method will be retained. Possible values: [\"MOVED_PERMANENTLY_DEFAULT\", \"FOUND\", \"SEE_OTHER\", \"TEMPORARY_REDIRECT\", \"PERMANENT_REDIRECT\"].", + "type": "string" + }, + "stripQuery": { + "description": "If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request. If set to false, the query portion of the original URL is retained.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "matchRule", + "priority" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "name", + "routeRule" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + } + }, + "required": [ + "hostRule", + "pathMatcher" + ], + "type": "object", + "additionalProperties": false + }, + "sslPolicy": { + "description": "URL of the SslPolicy resource that will be associated with the EdgeCacheService.\n\nIf not set, the EdgeCacheService has no SSL policy configured, and will default to the \"COMPATIBLE\" policy.", + "type": "string" + } + }, + "required": [ + "projectRef", + "routing" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "ipv4Addresses": { + "description": "The IPv4 addresses associated with this service. Addresses are static for the lifetime of the service.", + "items": { + "type": "string" + }, + "type": "array" + }, + "ipv6Addresses": { + "description": "The IPv6 addresses associated with this service. Addresses are static for the lifetime of the service.", + "items": { + "type": "string" + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/notebooks.cnrm.cloud.google.com/notebooksenvironment_v1alpha1.json b/notebooks.cnrm.cloud.google.com/notebooksenvironment_v1alpha1.json new file mode 100644 index 00000000..6078d0ab --- /dev/null +++ b/notebooks.cnrm.cloud.google.com/notebooksenvironment_v1alpha1.json @@ -0,0 +1,228 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "containerImage": { + "description": "Use a container image to start the notebook instance.", + "properties": { + "repository": { + "description": "The path to the container image repository.\nFor example: gcr.io/{project_id}/{imageName}.", + "type": "string" + }, + "tag": { + "description": "The tag of the container image. If not specified, this defaults to the latest tag.", + "type": "string" + } + }, + "required": [ + "repository" + ], + "type": "object", + "additionalProperties": false + }, + "description": { + "description": "A brief description of this environment.", + "type": "string" + }, + "displayName": { + "description": "Display name of this environment for the UI.", + "type": "string" + }, + "locationRef": { + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `NotebooksLocation` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "postStartupScript": { + "description": "Path to a Bash script that automatically runs after a notebook instance fully boots up.\nThe path must be a URL or Cloud Storage path. Example: \"gs://path-to-file/file-name\".", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "vmImage": { + "description": "Use a Compute Engine VM image to start the notebook instance.", + "properties": { + "imageFamily": { + "description": "Use this VM image family to find the image; the newest image in this family will be used.", + "type": "string" + }, + "imageName": { + "description": "Use VM image name to find the image.", + "type": "string" + }, + "project": { + "description": "The name of the Google Cloud project that this VM image belongs to.\nFormat: projects/{project_id}.", + "type": "string" + } + }, + "required": [ + "project" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "locationRef", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "createTime": { + "description": "Instance creation time.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/orgpolicy.cnrm.cloud.google.com/orgpolicycustomconstraint_v1alpha1.json b/orgpolicy.cnrm.cloud.google.com/orgpolicycustomconstraint_v1alpha1.json new file mode 100644 index 00000000..dd44724a --- /dev/null +++ b/orgpolicy.cnrm.cloud.google.com/orgpolicycustomconstraint_v1alpha1.json @@ -0,0 +1,114 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "actionType": { + "description": "The action to take if the condition is met. Possible values: [\"ALLOW\", \"DENY\"].", + "type": "string" + }, + "condition": { + "description": "A CEL condition that refers to a supported service resource, for example 'resource.management.autoUpgrade == false'. For details about CEL usage, see [Common Expression Language](https://cloud.google.com/resource-manager/docs/organization-policy/creating-managing-custom-constraints#common_expression_language).", + "type": "string" + }, + "description": { + "description": "A human-friendly description of the constraint to display as an error message when the policy is violated.", + "type": "string" + }, + "displayName": { + "description": "A human-friendly name for the constraint.", + "type": "string" + }, + "methodTypes": { + "description": "A list of RESTful methods for which to enforce the constraint. Can be 'CREATE', 'UPDATE', or both. Not all Google Cloud services support both methods. To see supported methods for each service, find the service in [Supported services](https://cloud.google.com/resource-manager/docs/organization-policy/custom-constraint-supported-services).", + "items": { + "type": "string" + }, + "type": "array" + }, + "parent": { + "description": "Immutable. The parent of the resource, an organization. Format should be 'organizations/{organization_id}'.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "resourceTypes": { + "description": "Immutable. Immutable. The fully qualified name of the Google Cloud REST resource containing the object and field you want to restrict. For example, 'container.googleapis.com/NodePool'.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "actionType", + "condition", + "methodTypes", + "parent", + "resourceTypes" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "updateTime": { + "description": "Output only. The timestamp representing when the constraint was last updated.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/osconfig.cnrm.cloud.google.com/osconfigpatchdeployment_v1alpha1.json b/osconfig.cnrm.cloud.google.com/osconfigpatchdeployment_v1alpha1.json new file mode 100644 index 00000000..acb3490a --- /dev/null +++ b/osconfig.cnrm.cloud.google.com/osconfigpatchdeployment_v1alpha1.json @@ -0,0 +1,712 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "description": { + "description": "Immutable. Description of the patch deployment. Length of the description is limited to 1024 characters.", + "type": "string" + }, + "duration": { + "description": "Immutable. Duration of the patch. After the duration ends, the patch times out.\nA duration in seconds with up to nine fractional digits, terminated by 's'. Example: \"3.5s\".", + "type": "string" + }, + "instanceFilter": { + "description": "Immutable. VM instances to patch.", + "properties": { + "all": { + "description": "Immutable. Target all VM instances in the project. If true, no other criteria is permitted.", + "type": "boolean" + }, + "groupLabels": { + "description": "Immutable. Targets VM instances matching ANY of these GroupLabels. This allows targeting of disparate groups of VM instances.", + "items": { + "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Immutable. Compute Engine instance labels that must be present for a VM instance to be targeted by this filter.", + "type": "object" + } + }, + "required": [ + "labels" + ], + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "instanceNamePrefixes": { + "description": "Immutable. Targets VMs whose name starts with one of these prefixes. Similar to labels, this is another way to group\nVMs when targeting configs, for example prefix=\"prod-\".", + "items": { + "type": "string" + }, + "type": "array" + }, + "instances": { + "description": "Immutable. Targets any of the VM instances specified. Instances are specified by their URI in the 'form zones/{{zone}}/instances/{{instance_name}}',\n'projects/{{project_id}}/zones/{{zone}}/instances/{{instance_name}}', or\n'https://www.googleapis.com/compute/v1/projects/{{project_id}}/zones/{{zone}}/instances/{{instance_name}}'.", + "items": { + "type": "string" + }, + "type": "array" + }, + "zones": { + "description": "Immutable. Targets VM instances in ANY of these zones. Leave empty to target VM instances in any zone.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object", + "additionalProperties": false + }, + "oneTimeSchedule": { + "description": "Immutable. Schedule a one-time execution.", + "properties": { + "executeTime": { + "description": "Immutable. The desired patch job execution time. A timestamp in RFC3339 UTC \"Zulu\" format,\naccurate to nanoseconds. Example: \"2014-10-02T15:01:23.045123456Z\".", + "type": "string" + } + }, + "required": [ + "executeTime" + ], + "type": "object", + "additionalProperties": false + }, + "patchConfig": { + "description": "Immutable. Patch configuration that is applied.", + "properties": { + "apt": { + "description": "Immutable. Apt update settings. Use this setting to override the default apt patch rules.", + "properties": { + "excludes": { + "description": "Immutable. List of packages to exclude from update. These packages will be excluded.", + "items": { + "type": "string" + }, + "type": "array" + }, + "exclusivePackages": { + "description": "Immutable. An exclusive list of packages to be updated. These are the only packages that will be updated.\nIf these packages are not installed, they will be ignored. This field cannot be specified with\nany other patch configuration fields.", + "items": { + "type": "string" + }, + "type": "array" + }, + "type": { + "description": "Immutable. By changing the type to DIST, the patching is performed using apt-get dist-upgrade instead. Possible values: [\"DIST\", \"UPGRADE\"].", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "goo": { + "description": "Immutable. goo update settings. Use this setting to override the default goo patch rules.", + "properties": { + "enabled": { + "description": "Immutable. goo update settings. Use this setting to override the default goo patch rules.", + "type": "boolean" + } + }, + "required": [ + "enabled" + ], + "type": "object", + "additionalProperties": false + }, + "migInstancesAllowed": { + "description": "Immutable. Allows the patch job to run on Managed instance groups (MIGs).", + "type": "boolean" + }, + "postStep": { + "description": "Immutable. The ExecStep to run after the patch update.", + "properties": { + "linuxExecStepConfig": { + "description": "Immutable. The ExecStepConfig for all Linux VMs targeted by the PatchJob.", + "properties": { + "allowedSuccessCodes": { + "description": "Immutable. Defaults to [0]. A list of possible return values that the execution can return to indicate a success.", + "items": { + "type": "integer" + }, + "type": "array" + }, + "gcsObject": { + "description": "Immutable. A Cloud Storage object containing the executable.", + "properties": { + "bucket": { + "description": "Immutable. Bucket of the Cloud Storage object.", + "type": "string" + }, + "generationNumber": { + "description": "Immutable. Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.", + "type": "string" + }, + "object": { + "description": "Immutable. Name of the Cloud Storage object.", + "type": "string" + } + }, + "required": [ + "bucket", + "generationNumber", + "object" + ], + "type": "object", + "additionalProperties": false + }, + "interpreter": { + "description": "Immutable. The script interpreter to use to run the script. If no interpreter is specified the script will\nbe executed directly, which will likely only succeed for scripts with shebang lines. Possible values: [\"SHELL\", \"POWERSHELL\"].", + "type": "string" + }, + "localPath": { + "description": "Immutable. An absolute path to the executable on the VM.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "windowsExecStepConfig": { + "description": "Immutable. The ExecStepConfig for all Windows VMs targeted by the PatchJob.", + "properties": { + "allowedSuccessCodes": { + "description": "Immutable. Defaults to [0]. A list of possible return values that the execution can return to indicate a success.", + "items": { + "type": "integer" + }, + "type": "array" + }, + "gcsObject": { + "description": "Immutable. A Cloud Storage object containing the executable.", + "properties": { + "bucket": { + "description": "Immutable. Bucket of the Cloud Storage object.", + "type": "string" + }, + "generationNumber": { + "description": "Immutable. Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.", + "type": "string" + }, + "object": { + "description": "Immutable. Name of the Cloud Storage object.", + "type": "string" + } + }, + "required": [ + "bucket", + "generationNumber", + "object" + ], + "type": "object", + "additionalProperties": false + }, + "interpreter": { + "description": "Immutable. The script interpreter to use to run the script. If no interpreter is specified the script will\nbe executed directly, which will likely only succeed for scripts with shebang lines. Possible values: [\"SHELL\", \"POWERSHELL\"].", + "type": "string" + }, + "localPath": { + "description": "Immutable. An absolute path to the executable on the VM.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "preStep": { + "description": "Immutable. The ExecStep to run before the patch update.", + "properties": { + "linuxExecStepConfig": { + "description": "Immutable. The ExecStepConfig for all Linux VMs targeted by the PatchJob.", + "properties": { + "allowedSuccessCodes": { + "description": "Immutable. Defaults to [0]. A list of possible return values that the execution can return to indicate a success.", + "items": { + "type": "integer" + }, + "type": "array" + }, + "gcsObject": { + "description": "Immutable. A Cloud Storage object containing the executable.", + "properties": { + "bucket": { + "description": "Immutable. Bucket of the Cloud Storage object.", + "type": "string" + }, + "generationNumber": { + "description": "Immutable. Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.", + "type": "string" + }, + "object": { + "description": "Immutable. Name of the Cloud Storage object.", + "type": "string" + } + }, + "required": [ + "bucket", + "generationNumber", + "object" + ], + "type": "object", + "additionalProperties": false + }, + "interpreter": { + "description": "Immutable. The script interpreter to use to run the script. If no interpreter is specified the script will\nbe executed directly, which will likely only succeed for scripts with shebang lines. Possible values: [\"SHELL\", \"POWERSHELL\"].", + "type": "string" + }, + "localPath": { + "description": "Immutable. An absolute path to the executable on the VM.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "windowsExecStepConfig": { + "description": "Immutable. The ExecStepConfig for all Windows VMs targeted by the PatchJob.", + "properties": { + "allowedSuccessCodes": { + "description": "Immutable. Defaults to [0]. A list of possible return values that the execution can return to indicate a success.", + "items": { + "type": "integer" + }, + "type": "array" + }, + "gcsObject": { + "description": "Immutable. A Cloud Storage object containing the executable.", + "properties": { + "bucket": { + "description": "Immutable. Bucket of the Cloud Storage object.", + "type": "string" + }, + "generationNumber": { + "description": "Immutable. Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.", + "type": "string" + }, + "object": { + "description": "Immutable. Name of the Cloud Storage object.", + "type": "string" + } + }, + "required": [ + "bucket", + "generationNumber", + "object" + ], + "type": "object", + "additionalProperties": false + }, + "interpreter": { + "description": "Immutable. The script interpreter to use to run the script. If no interpreter is specified the script will\nbe executed directly, which will likely only succeed for scripts with shebang lines. Possible values: [\"SHELL\", \"POWERSHELL\"].", + "type": "string" + }, + "localPath": { + "description": "Immutable. An absolute path to the executable on the VM.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "rebootConfig": { + "description": "Immutable. Post-patch reboot settings. Possible values: [\"DEFAULT\", \"ALWAYS\", \"NEVER\"].", + "type": "string" + }, + "windowsUpdate": { + "description": "Immutable. Windows update settings. Use this setting to override the default Windows patch rules.", + "properties": { + "classifications": { + "description": "Immutable. Only apply updates of these windows update classifications. If empty, all updates are applied. Possible values: [\"CRITICAL\", \"SECURITY\", \"DEFINITION\", \"DRIVER\", \"FEATURE_PACK\", \"SERVICE_PACK\", \"TOOL\", \"UPDATE_ROLLUP\", \"UPDATE\"].", + "items": { + "type": "string" + }, + "type": "array" + }, + "excludes": { + "description": "Immutable. List of KBs to exclude from update.", + "items": { + "type": "string" + }, + "type": "array" + }, + "exclusivePatches": { + "description": "Immutable. An exclusive list of kbs to be updated. These are the only patches that will be updated.\nThis field must not be used with other patch configurations.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object", + "additionalProperties": false + }, + "yum": { + "description": "Immutable. Yum update settings. Use this setting to override the default yum patch rules.", + "properties": { + "excludes": { + "description": "Immutable. List of packages to exclude from update. These packages will be excluded.", + "items": { + "type": "string" + }, + "type": "array" + }, + "exclusivePackages": { + "description": "Immutable. An exclusive list of packages to be updated. These are the only packages that will be updated.\nIf these packages are not installed, they will be ignored. This field cannot be specified with\nany other patch configuration fields.", + "items": { + "type": "string" + }, + "type": "array" + }, + "minimal": { + "description": "Immutable. Will cause patch to run yum update-minimal instead.", + "type": "boolean" + }, + "security": { + "description": "Immutable. Adds the --security flag to yum update. Not supported on all platforms.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + }, + "zypper": { + "description": "Immutable. zypper update settings. Use this setting to override the default zypper patch rules.", + "properties": { + "categories": { + "description": "Immutable. Install only patches with these categories. Common categories include security, recommended, and feature.", + "items": { + "type": "string" + }, + "type": "array" + }, + "excludes": { + "description": "Immutable. List of packages to exclude from update.", + "items": { + "type": "string" + }, + "type": "array" + }, + "exclusivePatches": { + "description": "Immutable. An exclusive list of patches to be updated. These are the only patches that will be installed using 'zypper patch patch:' command.\nThis field must not be used with any other patch configuration fields.", + "items": { + "type": "string" + }, + "type": "array" + }, + "severities": { + "description": "Immutable. Install only patches with these severities. Common severities include critical, important, moderate, and low.", + "items": { + "type": "string" + }, + "type": "array" + }, + "withOptional": { + "description": "Immutable. Adds the --with-optional flag to zypper patch.", + "type": "boolean" + }, + "withUpdate": { + "description": "Immutable. Adds the --with-update flag, to zypper patch.", + "type": "boolean" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "patchDeploymentId": { + "description": "Immutable. A name for the patch deployment in the project. When creating a name the following rules apply:\n* Must contain only lowercase letters, numbers, and hyphens.\n* Must start with a letter.\n* Must be between 1-63 characters.\n* Must end with a number or a letter.\n* Must be unique within the project.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "recurringSchedule": { + "description": "Immutable. Schedule recurring executions.", + "properties": { + "endTime": { + "description": "Immutable. The end time at which a recurring patch deployment schedule is no longer active.\nA timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds. Example: \"2014-10-02T15:01:23.045123456Z\".", + "type": "string" + }, + "lastExecuteTime": { + "description": "The time the last patch job ran successfully.\nA timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds. Example: \"2014-10-02T15:01:23.045123456Z\".", + "type": "string" + }, + "monthly": { + "description": "Immutable. Schedule with monthly executions.", + "properties": { + "monthDay": { + "description": "Immutable. One day of the month. 1-31 indicates the 1st to the 31st day. -1 indicates the last day of the month.\nMonths without the target day will be skipped. For example, a schedule to run \"every month on the 31st\"\nwill not run in February, April, June, etc.", + "type": "integer" + }, + "weekDayOfMonth": { + "description": "Immutable. Week day in a month.", + "properties": { + "dayOfWeek": { + "description": "Immutable. A day of the week. Possible values: [\"MONDAY\", \"TUESDAY\", \"WEDNESDAY\", \"THURSDAY\", \"FRIDAY\", \"SATURDAY\", \"SUNDAY\"].", + "type": "string" + }, + "weekOrdinal": { + "description": "Immutable. Week number in a month. 1-4 indicates the 1st to 4th week of the month. -1 indicates the last week of the month.", + "type": "integer" + } + }, + "required": [ + "dayOfWeek", + "weekOrdinal" + ], + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "nextExecuteTime": { + "description": "The time the next patch job is scheduled to run.\nA timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds. Example: \"2014-10-02T15:01:23.045123456Z\".", + "type": "string" + }, + "startTime": { + "description": "Immutable. The time that the recurring schedule becomes effective. Defaults to createTime of the patch deployment.\nA timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds. Example: \"2014-10-02T15:01:23.045123456Z\".", + "type": "string" + }, + "timeOfDay": { + "description": "Immutable. Time of the day to run a recurring deployment.", + "properties": { + "hours": { + "description": "Immutable. Hours of day in 24 hour format. Should be from 0 to 23.\nAn API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "type": "integer" + }, + "minutes": { + "description": "Immutable. Minutes of hour of day. Must be from 0 to 59.", + "type": "integer" + }, + "nanos": { + "description": "Immutable. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "type": "integer" + }, + "seconds": { + "description": "Immutable. Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + }, + "timeZone": { + "description": "Immutable. Defines the time zone that timeOfDay is relative to. The rules for daylight saving time are\ndetermined by the chosen time zone.", + "properties": { + "id": { + "description": "Immutable. IANA Time Zone Database time zone, e.g. \"America/New_York\".", + "type": "string" + }, + "version": { + "description": "Immutable. IANA Time Zone Database version number, e.g. \"2019a\".", + "type": "string" + } + }, + "required": [ + "id" + ], + "type": "object", + "additionalProperties": false + }, + "weekly": { + "description": "Immutable. Schedule with weekly executions.", + "properties": { + "dayOfWeek": { + "description": "Immutable. IANA Time Zone Database time zone, e.g. \"America/New_York\". Possible values: [\"MONDAY\", \"TUESDAY\", \"WEDNESDAY\", \"THURSDAY\", \"FRIDAY\", \"SATURDAY\", \"SUNDAY\"].", + "type": "string" + } + }, + "required": [ + "dayOfWeek" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "timeOfDay", + "timeZone" + ], + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + }, + "rollout": { + "description": "Immutable. Rollout strategy of the patch job.", + "properties": { + "disruptionBudget": { + "description": "Immutable. The maximum number (or percentage) of VMs per zone to disrupt at any given moment. The number of VMs calculated from multiplying the percentage by the total number of VMs in a zone is rounded up.\nDuring patching, a VM is considered disrupted from the time the agent is notified to begin until patching has completed. This disruption time includes the time to complete reboot and any post-patch steps.\nA VM contributes to the disruption budget if its patching operation fails either when applying the patches, running pre or post patch steps, or if it fails to respond with a success notification before timing out. VMs that are not running or do not have an active agent do not count toward this disruption budget.\nFor zone-by-zone rollouts, if the disruption budget in a zone is exceeded, the patch job stops, because continuing to the next zone requires completion of the patch process in the previous zone.\nFor example, if the disruption budget has a fixed value of 10, and 8 VMs fail to patch in the current zone, the patch job continues to patch 2 VMs at a time until the zone is completed. When that zone is completed successfully, patching begins with 10 VMs at a time in the next zone. If 10 VMs in the next zone fail to patch, the patch job stops.", + "properties": { + "fixed": { + "description": "Immutable. Specifies a fixed value.", + "type": "integer" + }, + "percentage": { + "description": "Immutable. Specifies the relative value defined as a percentage, which will be multiplied by a reference value.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + }, + "mode": { + "description": "Immutable. Mode of the patch rollout. Possible values: [\"ZONE_BY_ZONE\", \"CONCURRENT_ZONES\"].", + "type": "string" + } + }, + "required": [ + "disruptionBudget", + "mode" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "instanceFilter", + "patchDeploymentId", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "createTime": { + "description": "Time the patch deployment was created. Timestamp is in RFC3339 text format.\nA timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds. Example: \"2014-10-02T15:01:23.045123456Z\".", + "type": "string" + }, + "lastExecuteTime": { + "description": "The last time a patch job was started by this deployment. Timestamp is in RFC3339 text format.\nA timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds. Example: \"2014-10-02T15:01:23.045123456Z\".", + "type": "string" + }, + "name": { + "description": "Unique name for the patch deployment resource in a project.\nThe patch deployment name is in the form: projects/{project_id}/patchDeployments/{patchDeploymentId}.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "updateTime": { + "description": "Time the patch deployment was last updated. Timestamp is in RFC3339 text format.\nA timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds. Example: \"2014-10-02T15:01:23.045123456Z\".", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/oslogin.cnrm.cloud.google.com/osloginsshpublickey_v1alpha1.json b/oslogin.cnrm.cloud.google.com/osloginsshpublickey_v1alpha1.json new file mode 100644 index 00000000..4a731490 --- /dev/null +++ b/oslogin.cnrm.cloud.google.com/osloginsshpublickey_v1alpha1.json @@ -0,0 +1,93 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "expirationTimeUsec": { + "description": "An expiration time in microseconds since epoch.", + "type": "string" + }, + "key": { + "description": "Immutable. Public key text in SSH format, defined by RFC4253 section 6.6.", + "type": "string" + }, + "project": { + "description": "Immutable. The project ID of the Google Cloud Platform project.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated fingerprint of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + }, + "user": { + "description": "Immutable. The user email.", + "type": "string" + } + }, + "required": [ + "key", + "user" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "fingerprint": { + "description": "The SHA-256 fingerprint of the SSH public key.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/pubsublite.cnrm.cloud.google.com/pubsublitesubscription_v1alpha1.json b/pubsublite.cnrm.cloud.google.com/pubsublitesubscription_v1alpha1.json new file mode 100644 index 00000000..30154d4c --- /dev/null +++ b/pubsublite.cnrm.cloud.google.com/pubsublitesubscription_v1alpha1.json @@ -0,0 +1,150 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "deliveryConfig": { + "description": "The settings for this subscription's message delivery.", + "properties": { + "deliveryRequirement": { + "description": "When this subscription should send messages to subscribers relative to messages persistence in storage. Possible values: [\"DELIVER_IMMEDIATELY\", \"DELIVER_AFTER_STORED\", \"DELIVERY_REQUIREMENT_UNSPECIFIED\"].", + "type": "string" + } + }, + "required": [ + "deliveryRequirement" + ], + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "The region of the pubsub lite topic.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "topic": { + "description": "Immutable. A reference to a Topic resource.", + "type": "string" + }, + "zone": { + "description": "The zone of the pubsub lite topic.", + "type": "string" + } + }, + "required": [ + "projectRef", + "topic", + "zone" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/pubsublite.cnrm.cloud.google.com/pubsublitetopic_v1alpha1.json b/pubsublite.cnrm.cloud.google.com/pubsublitetopic_v1alpha1.json new file mode 100644 index 00000000..69fda4dd --- /dev/null +++ b/pubsublite.cnrm.cloud.google.com/pubsublitetopic_v1alpha1.json @@ -0,0 +1,193 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "partitionConfig": { + "description": "The settings for this topic's partitions.", + "properties": { + "capacity": { + "description": "The capacity configuration.", + "properties": { + "publishMibPerSec": { + "description": "Subscribe throughput capacity per partition in MiB/s. Must be >= 4 and <= 16.", + "type": "integer" + }, + "subscribeMibPerSec": { + "description": "Publish throughput capacity per partition in MiB/s. Must be >= 4 and <= 16.", + "type": "integer" + } + }, + "required": [ + "publishMibPerSec", + "subscribeMibPerSec" + ], + "type": "object", + "additionalProperties": false + }, + "count": { + "description": "The number of partitions in the topic. Must be at least 1.", + "type": "integer" + } + }, + "required": [ + "count" + ], + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "The region of the pubsub lite topic.", + "type": "string" + }, + "reservationConfig": { + "description": "The settings for this topic's Reservation usage.", + "properties": { + "throughputReservation": { + "description": "The Reservation to use for this topic's throughput capacity.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "retentionConfig": { + "description": "The settings for a topic's message retention.", + "properties": { + "perPartitionBytes": { + "description": "The provisioned storage, in bytes, per partition. If the number of bytes stored\nin any of the topic's partitions grows beyond this value, older messages will be\ndropped to make room for newer ones, regardless of the value of period.", + "type": "string" + }, + "period": { + "description": "How long a published message is retained. If unset, messages will be retained as\nlong as the bytes retained for each partition is below perPartitionBytes. A\nduration in seconds with up to nine fractional digits, terminated by 's'.\nExample: \"3.5s\".", + "type": "string" + } + }, + "required": [ + "perPartitionBytes" + ], + "type": "object", + "additionalProperties": false + }, + "zone": { + "description": "The zone of the pubsub lite topic.", + "type": "string" + } + }, + "required": [ + "projectRef", + "zone" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/securesourcemanager.cnrm.cloud.google.com/securesourcemanagerinstance_v1alpha1.json b/securesourcemanager.cnrm.cloud.google.com/securesourcemanagerinstance_v1alpha1.json new file mode 100644 index 00000000..c39649b7 --- /dev/null +++ b/securesourcemanager.cnrm.cloud.google.com/securesourcemanagerinstance_v1alpha1.json @@ -0,0 +1,182 @@ +{ + "description": "SecureSourceManagerInstance is the Schema for the monitoring API", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. 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": { + "kmsKey": { + "description": "Optional. Immutable. Customer-managed encryption key name, in the format projects/*/locations/*/keyRings/*/cryptoKeys/*.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels as key value pairs.", + "type": "object" + }, + "location": { + "description": "Immutable. Location of the instance.", + "type": "string" + }, + "projectRef": { + "description": "Immutable. The Project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "The `projectID` field of a project, when not managed by KCC.", + "type": "string" + }, + "kind": { + "description": "The kind of the Project resource; optional but must be `Project` if provided.", + "type": "string" + }, + "name": { + "description": "The `name` field of a `Project` resource.", + "type": "string" + }, + "namespace": { + "description": "The `namespace` field of a `Project` resource.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "location", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observations of the SecureSourceManagerInstance's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "format": "int64", + "type": "integer" + }, + "observedState": { + "description": "ObservedState is the latest GCP state.", + "properties": { + "hostConfig": { + "description": "Output only. A list of hostnames for this instance.", + "properties": { + "api": { + "description": "Output only. API hostname. This is the hostname to use for **Host: Data Plane** endpoints.", + "type": "string" + }, + "gitHttp": { + "description": "Output only. Git HTTP hostname.", + "type": "string" + }, + "gitSsh": { + "description": "Output only. Git SSH hostname.", + "type": "string" + }, + "html": { + "description": "Output only. HTML hostname.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "state": { + "description": "Output only. Current state of the instance.", + "type": "string" + }, + "stateNote": { + "description": "Output only. An optional field providing information about the current instance state.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/securitycenter.cnrm.cloud.google.com/securitycenternotificationconfig_v1alpha1.json b/securitycenter.cnrm.cloud.google.com/securitycenternotificationconfig_v1alpha1.json new file mode 100644 index 00000000..ff7a16e8 --- /dev/null +++ b/securitycenter.cnrm.cloud.google.com/securitycenternotificationconfig_v1alpha1.json @@ -0,0 +1,159 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "configId": { + "description": "Immutable. This must be unique within the organization.", + "type": "string" + }, + "description": { + "description": "The description of the notification config (max of 1024 characters).", + "type": "string" + }, + "organizationRef": { + "description": "The organization that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of an `Organization` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "pubsubTopic": { + "description": "The Pub/Sub topic to send notifications to. Its format is\n\"projects/[project_id]/topics/[topic]\".", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + }, + "streamingConfig": { + "description": "The config for triggering streaming-based notifications.", + "properties": { + "filter": { + "description": "Expression that defines the filter to apply across create/update\nevents of assets or findings as specified by the event type. The\nexpression is a list of zero or more restrictions combined via\nlogical operators AND and OR. Parentheses are supported, and OR\nhas higher precedence than AND.\n\nRestrictions have the form and may have\na - character in front of them to indicate negation. The fields\nmap to those defined in the corresponding resource.\n\nThe supported operators are:\n\n* = for all value types.\n* >, <, >=, <= for integer values.\n* :, meaning substring matching, for strings.\n\nThe supported value types are:\n\n* string literals in quotes.\n* integer literals without quotes.\n* boolean literals true and false without quotes.\n\nSee\n[Filtering notifications](https://cloud.google.com/security-command-center/docs/how-to-api-filter-notifications)\nfor information on how to write a filter.", + "type": "string" + } + }, + "required": [ + "filter" + ], + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "configId", + "organizationRef", + "pubsubTopic", + "streamingConfig" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The resource name of this notification config, in the format\n'organizations/{{organization}}/notificationConfigs/{{config_id}}'.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "serviceAccount": { + "description": "The service account that needs \"pubsub.topics.publish\" permission to\npublish to the Pub/Sub topic.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/securitycenter.cnrm.cloud.google.com/securitycentersource_v1alpha1.json b/securitycenter.cnrm.cloud.google.com/securitycentersource_v1alpha1.json new file mode 100644 index 00000000..c46471ac --- /dev/null +++ b/securitycenter.cnrm.cloud.google.com/securitycentersource_v1alpha1.json @@ -0,0 +1,135 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "description": { + "description": "The description of the source (max of 1024 characters).", + "type": "string" + }, + "displayName": { + "description": "The source\u2019s display name. A source\u2019s display name must be unique\namongst its siblings, for example, two sources with the same parent\ncan't share the same display name. The display name must start and end\nwith a letter or digit, may contain letters, digits, spaces, hyphens,\nand underscores, and can be no longer than 32 characters.", + "type": "string" + }, + "organizationRef": { + "description": "The organization that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of an `Organization` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + } + }, + "required": [ + "displayName", + "organizationRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The resource name of this source, in the format\n'organizations/{{organization}}/sources/{{source}}'.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/serviceusage.cnrm.cloud.google.com/serviceusageconsumerquotaoverride_v1alpha1.json b/serviceusage.cnrm.cloud.google.com/serviceusageconsumerquotaoverride_v1alpha1.json new file mode 100644 index 00000000..9d9bda65 --- /dev/null +++ b/serviceusage.cnrm.cloud.google.com/serviceusageconsumerquotaoverride_v1alpha1.json @@ -0,0 +1,157 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "dimensions": { + "additionalProperties": { + "type": "string" + }, + "description": "Immutable. If this map is nonempty, then this override applies only to specific values for dimensions defined in the limit unit.", + "type": "object" + }, + "force": { + "description": "If the new quota would decrease the existing quota by more than 10%, the request is rejected.\nIf 'force' is 'true', that safety check is ignored.", + "type": "boolean" + }, + "limit": { + "description": "Immutable. The limit on the metric, e.g. '/project/region'.\n\n~> Make sure that 'limit' is in a format that doesn't start with '1/' or contain curly braces.\nE.g. use '/project/user' instead of '1/{project}/{user}'.", + "type": "string" + }, + "metric": { + "description": "Immutable. The metric that should be limited, e.g. 'compute.googleapis.com/cpus'.", + "type": "string" + }, + "overrideValue": { + "description": "The overriding quota limit value. Can be any nonnegative integer, or -1 (unlimited quota).", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + }, + "service": { + "description": "Immutable. The service that the metrics belong to, e.g. 'compute.googleapis.com'.", + "type": "string" + } + }, + "required": [ + "limit", + "metric", + "overrideValue", + "projectRef", + "service" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The server-generated name of the quota override.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/storage.cnrm.cloud.google.com/storagehmackey_v1alpha1.json b/storage.cnrm.cloud.google.com/storagehmackey_v1alpha1.json new file mode 100644 index 00000000..407adbcb --- /dev/null +++ b/storage.cnrm.cloud.google.com/storagehmackey_v1alpha1.json @@ -0,0 +1,147 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated accessId of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + }, + "serviceAccountEmail": { + "description": "Immutable. The email address of the key's associated service account.", + "type": "string" + }, + "state": { + "description": "The state of the key. Can be set to one of ACTIVE, INACTIVE. Default value: \"ACTIVE\" Possible values: [\"ACTIVE\", \"INACTIVE\"].", + "type": "string" + } + }, + "required": [ + "projectRef", + "serviceAccountEmail" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "accessId": { + "description": "The access ID of the HMAC Key.", + "type": "string" + }, + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "secret": { + "description": "HMAC secret key material.", + "type": "string" + }, + "timeCreated": { + "description": "'The creation time of the HMAC key in RFC 3339 format. '.", + "type": "string" + }, + "updated": { + "description": "'The last modification time of the HMAC key metadata in RFC 3339 format.'.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/storagetransfer.cnrm.cloud.google.com/storagetransferagentpool_v1alpha1.json b/storagetransfer.cnrm.cloud.google.com/storagetransferagentpool_v1alpha1.json new file mode 100644 index 00000000..20697159 --- /dev/null +++ b/storagetransfer.cnrm.cloud.google.com/storagetransferagentpool_v1alpha1.json @@ -0,0 +1,144 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "bandwidthLimit": { + "description": "Specifies the bandwidth limit details. If this field is unspecified, the default value is set as 'No Limit'.", + "properties": { + "limitMbps": { + "description": "Bandwidth rate in megabytes per second, distributed across all the agents in the pool.", + "type": "string" + } + }, + "required": [ + "limitMbps" + ], + "type": "object", + "additionalProperties": false + }, + "displayName": { + "description": "Specifies the client-specified AgentPool description.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "state": { + "description": "Specifies the state of the AgentPool.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/tags.cnrm.cloud.google.com/tagslocationtagbinding_v1alpha1.json b/tags.cnrm.cloud.google.com/tagslocationtagbinding_v1alpha1.json new file mode 100644 index 00000000..9da8d0c7 --- /dev/null +++ b/tags.cnrm.cloud.google.com/tagslocationtagbinding_v1alpha1.json @@ -0,0 +1,180 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "location": { + "description": "Immutable. The geographic location where the transfer config should reside.\nExamples: US, EU, asia-northeast1. The default value is US.", + "type": "string" + }, + "parentRef": { + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: string of the format `//cloudresourcemanager.googleapis.com/projects/{{value}}`, where {{value}} is the `number` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + }, + "tagValueRef": { + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: string of the format `tagValues/{{value}}`, where {{value}} is the `name` field of a `TagsTagValue` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "location", + "parentRef", + "tagValueRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "name": { + "description": "The generated id for the TagBinding. This is a string of the form: 'tagBindings/{full-resource-name}/{tag-value-name}'.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/tpu.cnrm.cloud.google.com/tpunode_v1alpha1.json b/tpu.cnrm.cloud.google.com/tpunode_v1alpha1.json new file mode 100644 index 00000000..71cbd6cf --- /dev/null +++ b/tpu.cnrm.cloud.google.com/tpunode_v1alpha1.json @@ -0,0 +1,189 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "acceleratorType": { + "description": "Immutable. The type of hardware accelerators associated with this node.", + "type": "string" + }, + "cidrBlock": { + "description": "Immutable. The CIDR block that the TPU node will use when selecting an IP\naddress. This CIDR block must be a /29 block; the Compute Engine\nnetworks API forbids a smaller block, and using a larger block would\nbe wasteful (a node can only consume one IP address).\n\nErrors will occur if the CIDR block has already been used for a\ncurrently existing TPU node, the CIDR block conflicts with any\nsubnetworks in the user's provided network, or the provided network\nis peered with another network that is using that CIDR block.", + "type": "string" + }, + "description": { + "description": "Immutable. The user-supplied description of the TPU. Maximum of 512 characters.", + "type": "string" + }, + "network": { + "description": "Immutable. The name of a network to peer the TPU node to. It must be a\npreexisting Compute Engine network inside of the project on which\nthis API has been activated. If none is provided, \"default\" will be\nused.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "schedulingConfig": { + "description": "Immutable. Sets the scheduling options for this TPU instance.", + "properties": { + "preemptible": { + "description": "Immutable. Defines whether the TPU instance is preemptible.", + "type": "boolean" + } + }, + "required": [ + "preemptible" + ], + "type": "object", + "additionalProperties": false + }, + "tensorflowVersion": { + "description": "The version of Tensorflow running in the Node.", + "type": "string" + }, + "useServiceNetworking": { + "description": "Immutable. Whether the VPC peering for the node is set up through Service Networking API.\nThe VPC Peering should be set up before provisioning the node. If this field is set,\ncidr_block field should not be specified. If the network that you want to peer the\nTPU Node to is a Shared VPC network, the node must be created with this this field enabled.", + "type": "boolean" + }, + "zone": { + "description": "Immutable. The GCP location for the TPU. If it is not provided, the provider zone is used.", + "type": "string" + } + }, + "required": [ + "acceleratorType", + "projectRef", + "tensorflowVersion", + "zone" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "networkEndpoints": { + "description": "The network endpoints where TPU workers can be accessed and sent work.\nIt is recommended that Tensorflow clients of the node first reach out\nto the first (index 0) entry.", + "items": { + "properties": { + "ipAddress": { + "description": "The IP address of this network endpoint.", + "type": "string" + }, + "port": { + "description": "The port of this network endpoint.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "serviceAccount": { + "description": "The service account used to run the tensor flow services within the\nnode. To share resources, including Google Cloud Storage data, with\nthe Tensorflow job running in the Node, this account must have\npermissions to that data.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/vertexai.cnrm.cloud.google.com/vertexaidataset_v1alpha1.json b/vertexai.cnrm.cloud.google.com/vertexaidataset_v1alpha1.json new file mode 100644 index 00000000..2ccdb7c8 --- /dev/null +++ b/vertexai.cnrm.cloud.google.com/vertexaidataset_v1alpha1.json @@ -0,0 +1,208 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "displayName": { + "description": "The user-defined name of the Dataset. The name can be up to 128 characters long and can be consist of any UTF-8 characters.", + "type": "string" + }, + "encryptionSpec": { + "description": "Immutable. Customer-managed encryption key spec for a Dataset. If set, this Dataset and all sub-resources of this Dataset will be secured by this key.", + "properties": { + "kmsKeyNameRef": { + "description": "Required. The Cloud KMS resource identifier of the customer managed encryption key used to protect a resource.\nHas the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key.\nThe key needs to be in the same region as where the compute resource is created.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `selfLink` field of a `KMSCryptoKey` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "metadataSchemaUri": { + "description": "Immutable. Points to a YAML file stored on Google Cloud Storage describing additional information about the Dataset. The schema is defined as an OpenAPI 3.0.2 Schema Object. The schema files that can be used here are found in gs://google-cloud-aiplatform/schema/dataset/metadata/.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Immutable. The region of the dataset. eg us-central1.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + } + }, + "required": [ + "displayName", + "metadataSchemaUri", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "observedState": { + "description": "The observed state of the underlying GCP resource.", + "properties": { + "createTime": { + "description": "The timestamp of when the dataset was created in RFC3339 UTC \"Zulu\" format, with nanosecond resolution and up to nine fractional digits.", + "type": "string" + }, + "name": { + "description": "The resource name of the Dataset. This value is set by Google.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/vertexai.cnrm.cloud.google.com/vertexaidataset_v1beta1.json b/vertexai.cnrm.cloud.google.com/vertexaidataset_v1beta1.json new file mode 100644 index 00000000..2ccdb7c8 --- /dev/null +++ b/vertexai.cnrm.cloud.google.com/vertexaidataset_v1beta1.json @@ -0,0 +1,208 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "displayName": { + "description": "The user-defined name of the Dataset. The name can be up to 128 characters long and can be consist of any UTF-8 characters.", + "type": "string" + }, + "encryptionSpec": { + "description": "Immutable. Customer-managed encryption key spec for a Dataset. If set, this Dataset and all sub-resources of this Dataset will be secured by this key.", + "properties": { + "kmsKeyNameRef": { + "description": "Required. The Cloud KMS resource identifier of the customer managed encryption key used to protect a resource.\nHas the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key.\nThe key needs to be in the same region as where the compute resource is created.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `selfLink` field of a `KMSCryptoKey` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "metadataSchemaUri": { + "description": "Immutable. Points to a YAML file stored on Google Cloud Storage describing additional information about the Dataset. The schema is defined as an OpenAPI 3.0.2 Schema Object. The schema files that can be used here are found in gs://google-cloud-aiplatform/schema/dataset/metadata/.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Immutable. The region of the dataset. eg us-central1.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + } + }, + "required": [ + "displayName", + "metadataSchemaUri", + "projectRef" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "observedState": { + "description": "The observed state of the underlying GCP resource.", + "properties": { + "createTime": { + "description": "The timestamp of when the dataset was created in RFC3339 UTC \"Zulu\" format, with nanosecond resolution and up to nine fractional digits.", + "type": "string" + }, + "name": { + "description": "The resource name of the Dataset. This value is set by Google.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/vertexai.cnrm.cloud.google.com/vertexaiendpoint_v1alpha1.json b/vertexai.cnrm.cloud.google.com/vertexaiendpoint_v1alpha1.json new file mode 100644 index 00000000..9a5c3623 --- /dev/null +++ b/vertexai.cnrm.cloud.google.com/vertexaiendpoint_v1alpha1.json @@ -0,0 +1,261 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "description": { + "description": "The description of the Endpoint.", + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the Endpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters.", + "type": "string" + }, + "encryptionSpec": { + "description": "Immutable. Customer-managed encryption key spec for an Endpoint. If set, this Endpoint and all sub-resources of this Endpoint will be secured by this key.", + "properties": { + "kmsKeyNameRef": { + "description": "Required. The Cloud KMS resource identifier of the customer managed encryption key used to protect a resource.\nHas the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key.\nThe key needs to be in the same region as where the compute resource is created.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `selfLink` field of a `KMSCryptoKey` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "kmsKeyNameRef" + ], + "type": "object", + "additionalProperties": false + }, + "networkRef": { + "description": "Optional. The full name of the Google Compute Engine network to which the Endpoint should be peered.\nPrivate services access must already be configured for the network. If left unspecified, the Endpoint is not peered with any network.\nOnly one of the fields, network or enablePrivateServiceConnect, can be set.\nFormat: projects/{project_id}/global/networks/{network_name}.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: string of the format `projects/{{project}}/global/networks/{{value}}`, where {{value}} is the `name` field of a `ComputeNetwork` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Immutable. The region for the resource.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "displayName", + "projectRef", + "region" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "observedState": { + "description": "The observed state of the underlying GCP resource.", + "properties": { + "createTime": { + "description": "Output only. Timestamp when this Endpoint was created.", + "type": "string" + }, + "modelDeploymentMonitoringJob": { + "description": "Output only. Resource name of the Model Monitoring job associated with this Endpoint if monitoring is enabled by CreateModelDeploymentMonitoringJob. Format: 'projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}'.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/vertexai.cnrm.cloud.google.com/vertexaiendpoint_v1beta1.json b/vertexai.cnrm.cloud.google.com/vertexaiendpoint_v1beta1.json new file mode 100644 index 00000000..9a5c3623 --- /dev/null +++ b/vertexai.cnrm.cloud.google.com/vertexaiendpoint_v1beta1.json @@ -0,0 +1,261 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "description": { + "description": "The description of the Endpoint.", + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the Endpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters.", + "type": "string" + }, + "encryptionSpec": { + "description": "Immutable. Customer-managed encryption key spec for an Endpoint. If set, this Endpoint and all sub-resources of this Endpoint will be secured by this key.", + "properties": { + "kmsKeyNameRef": { + "description": "Required. The Cloud KMS resource identifier of the customer managed encryption key used to protect a resource.\nHas the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key.\nThe key needs to be in the same region as where the compute resource is created.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `selfLink` field of a `KMSCryptoKey` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "kmsKeyNameRef" + ], + "type": "object", + "additionalProperties": false + }, + "networkRef": { + "description": "Optional. The full name of the Google Compute Engine network to which the Endpoint should be peered.\nPrivate services access must already be configured for the network. If left unspecified, the Endpoint is not peered with any network.\nOnly one of the fields, network or enablePrivateServiceConnect, can be set.\nFormat: projects/{project_id}/global/networks/{network_name}.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: string of the format `projects/{{project}}/global/networks/{{value}}`, where {{value}} is the `name` field of a `ComputeNetwork` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Immutable. The region for the resource.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "displayName", + "projectRef", + "region" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "observedState": { + "description": "The observed state of the underlying GCP resource.", + "properties": { + "createTime": { + "description": "Output only. Timestamp when this Endpoint was created.", + "type": "string" + }, + "modelDeploymentMonitoringJob": { + "description": "Output only. Resource name of the Model Monitoring job associated with this Endpoint if monitoring is enabled by CreateModelDeploymentMonitoringJob. Format: 'projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}'.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/vertexai.cnrm.cloud.google.com/vertexaifeaturestore_v1alpha1.json b/vertexai.cnrm.cloud.google.com/vertexaifeaturestore_v1alpha1.json new file mode 100644 index 00000000..d50cb4ca --- /dev/null +++ b/vertexai.cnrm.cloud.google.com/vertexaifeaturestore_v1alpha1.json @@ -0,0 +1,191 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "encryptionSpec": { + "description": "If set, both of the online and offline data storage will be secured by this key.", + "properties": { + "kmsKeyName": { + "description": "The Cloud KMS resource identifier of the customer managed encryption key used to protect a resource. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created.", + "type": "string" + } + }, + "required": [ + "kmsKeyName" + ], + "type": "object", + "additionalProperties": false + }, + "forceDestroy": { + "description": "If set to true, any EntityTypes and Features for this Featurestore will also be deleted.", + "type": "boolean" + }, + "onlineServingConfig": { + "description": "Config for online serving resources.", + "properties": { + "fixedNodeCount": { + "description": "The number of nodes for each cluster. The number of nodes will not scale automatically but can be scaled manually by providing different values when updating.", + "type": "integer" + }, + "scaling": { + "description": "Online serving scaling configuration. Only one of fixedNodeCount and scaling can be set. Setting one will reset the other.", + "properties": { + "maxNodeCount": { + "description": "The maximum number of nodes to scale up to. Must be greater than minNodeCount, and less than or equal to 10 times of 'minNodeCount'.", + "type": "integer" + }, + "minNodeCount": { + "description": "The minimum number of nodes to scale down to. Must be greater than or equal to 1.", + "type": "integer" + } + }, + "required": [ + "maxNodeCount", + "minNodeCount" + ], + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "onlineStorageTtlDays": { + "description": "TTL in days for feature values that will be stored in online serving storage. The Feature Store online storage periodically removes obsolete feature values older than onlineStorageTtlDays since the feature generation time. Note that onlineStorageTtlDays should be less than or equal to offlineStorageTtlDays for each EntityType under a featurestore. If not set, default to 4000 days.", + "type": "integer" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Immutable. The region of the dataset. eg us-central1.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "projectRef", + "region" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "createTime": { + "description": "The timestamp of when the featurestore was created in RFC3339 UTC \"Zulu\" format, with nanosecond resolution and up to nine fractional digits.", + "type": "string" + }, + "etag": { + "description": "Used to perform consistent read-modify-write updates.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "updateTime": { + "description": "The timestamp of when the featurestore was last updated in RFC3339 UTC \"Zulu\" format, with nanosecond resolution and up to nine fractional digits.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/vertexai.cnrm.cloud.google.com/vertexaifeaturestoreentitytype_v1alpha1.json b/vertexai.cnrm.cloud.google.com/vertexaifeaturestoreentitytype_v1alpha1.json new file mode 100644 index 00000000..293cf0e5 --- /dev/null +++ b/vertexai.cnrm.cloud.google.com/vertexaifeaturestoreentitytype_v1alpha1.json @@ -0,0 +1,173 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "description": { + "description": "Optional. Description of the EntityType.", + "type": "string" + }, + "featurestore": { + "description": "Immutable. The name of the Featurestore to use, in the format projects/{project}/locations/{location}/featurestores/{featurestore}.", + "type": "string" + }, + "monitoringConfig": { + "description": "The default monitoring configuration for all Features under this EntityType.\n\nIf this is populated with [FeaturestoreMonitoringConfig.monitoring_interval] specified, snapshot analysis monitoring is enabled. Otherwise, snapshot analysis monitoring is disabled.", + "properties": { + "categoricalThresholdConfig": { + "description": "Threshold for categorical features of anomaly detection. This is shared by all types of Featurestore Monitoring for categorical features (i.e. Features with type (Feature.ValueType) BOOL or STRING).", + "properties": { + "value": { + "description": "Specify a threshold value that can trigger the alert. For categorical feature, the distribution distance is calculated by L-inifinity norm. Each feature must have a non-zero threshold if they need to be monitored. Otherwise no alert will be triggered for that feature. The default value is 0.3.", + "type": "number" + } + }, + "required": [ + "value" + ], + "type": "object", + "additionalProperties": false + }, + "importFeaturesAnalysis": { + "description": "The config for ImportFeatures Analysis Based Feature Monitoring.", + "properties": { + "anomalyDetectionBaseline": { + "description": "Defines the baseline to do anomaly detection for feature values imported by each [entityTypes.importFeatureValues][] operation. The value must be one of the values below:\n* LATEST_STATS: Choose the later one statistics generated by either most recent snapshot analysis or previous import features analysis. If non of them exists, skip anomaly detection and only generate a statistics.\n* MOST_RECENT_SNAPSHOT_STATS: Use the statistics generated by the most recent snapshot analysis if exists.\n* PREVIOUS_IMPORT_FEATURES_STATS: Use the statistics generated by the previous import features analysis if exists.", + "type": "string" + }, + "state": { + "description": "Whether to enable / disable / inherite default hebavior for import features analysis. The value must be one of the values below:\n* DEFAULT: The default behavior of whether to enable the monitoring. EntityType-level config: disabled.\n* ENABLED: Explicitly enables import features analysis. EntityType-level config: by default enables import features analysis for all Features under it.\n* DISABLED: Explicitly disables import features analysis. EntityType-level config: by default disables import features analysis for all Features under it.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "numericalThresholdConfig": { + "description": "Threshold for numerical features of anomaly detection. This is shared by all objectives of Featurestore Monitoring for numerical features (i.e. Features with type (Feature.ValueType) DOUBLE or INT64).", + "properties": { + "value": { + "description": "Specify a threshold value that can trigger the alert. For numerical feature, the distribution distance is calculated by Jensen\u2013Shannon divergence. Each feature must have a non-zero threshold if they need to be monitored. Otherwise no alert will be triggered for that feature. The default value is 0.3.", + "type": "number" + } + }, + "required": [ + "value" + ], + "type": "object", + "additionalProperties": false + }, + "snapshotAnalysis": { + "description": "The config for Snapshot Analysis Based Feature Monitoring.", + "properties": { + "disabled": { + "description": "The monitoring schedule for snapshot analysis. For EntityType-level config: unset / disabled = true indicates disabled by default for Features under it; otherwise by default enable snapshot analysis monitoring with monitoringInterval for Features under it.", + "type": "boolean" + }, + "monitoringInterval": { + "description": "DEPRECATED. `monitoring_interval` is deprecated and will be removed in a future release. Configuration of the snapshot analysis based monitoring pipeline running interval. The value is rolled up to full day.\n\nA duration in seconds with up to nine fractional digits, terminated by 's'. Example: \"3.5s\".", + "type": "string" + }, + "monitoringIntervalDays": { + "description": "Configuration of the snapshot analysis based monitoring pipeline running interval. The value indicates number of days. The default value is 1.\nIf both FeaturestoreMonitoringConfig.SnapshotAnalysis.monitoring_interval_days and [FeaturestoreMonitoringConfig.SnapshotAnalysis.monitoring_interval][] are set when creating/updating EntityTypes/Features, FeaturestoreMonitoringConfig.SnapshotAnalysis.monitoring_interval_days will be used.", + "type": "integer" + }, + "stalenessDays": { + "description": "Customized export features time window for snapshot analysis. Unit is one day. The default value is 21 days. Minimum value is 1 day. Maximum value is 4000 days.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "offlineStorageTtlDays": { + "description": "Config for data retention policy in offline storage. TTL in days for feature values that will be stored in offline storage. The Feature Store offline storage periodically removes obsolete feature values older than offlineStorageTtlDays since the feature generation time. If unset (or explicitly set to 0), default to 4000 days TTL.", + "type": "integer" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "featurestore" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "createTime": { + "description": "The timestamp of when the featurestore was created in RFC3339 UTC \"Zulu\" format, with nanosecond resolution and up to nine fractional digits.", + "type": "string" + }, + "etag": { + "description": "Used to perform consistent read-modify-write updates.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "region": { + "description": "The region of the EntityType.", + "type": "string" + }, + "updateTime": { + "description": "The timestamp of when the featurestore was last updated in RFC3339 UTC \"Zulu\" format, with nanosecond resolution and up to nine fractional digits.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/vertexai.cnrm.cloud.google.com/vertexaifeaturestoreentitytypefeature_v1alpha1.json b/vertexai.cnrm.cloud.google.com/vertexaifeaturestoreentitytypefeature_v1alpha1.json new file mode 100644 index 00000000..049b5c93 --- /dev/null +++ b/vertexai.cnrm.cloud.google.com/vertexaifeaturestoreentitytypefeature_v1alpha1.json @@ -0,0 +1,101 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "description": { + "description": "Description of the feature.", + "type": "string" + }, + "entitytype": { + "description": "Immutable. The name of the Featurestore to use, in the format projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entitytype}.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "valueType": { + "description": "Immutable. Type of Feature value. Immutable. https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.featurestores.entityTypes.features#ValueType.", + "type": "string" + } + }, + "required": [ + "entitytype", + "valueType" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "createTime": { + "description": "The timestamp of when the entity type was created in RFC3339 UTC \"Zulu\" format, with nanosecond resolution and up to nine fractional digits.", + "type": "string" + }, + "etag": { + "description": "Used to perform consistent read-modify-write updates.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "region": { + "description": "The region of the feature.", + "type": "string" + }, + "updateTime": { + "description": "The timestamp when the entity type was most recently updated in RFC3339 UTC \"Zulu\" format, with nanosecond resolution and up to nine fractional digits.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/vertexai.cnrm.cloud.google.com/vertexaiindex_v1alpha1.json b/vertexai.cnrm.cloud.google.com/vertexaiindex_v1alpha1.json new file mode 100644 index 00000000..007a21bb --- /dev/null +++ b/vertexai.cnrm.cloud.google.com/vertexaiindex_v1alpha1.json @@ -0,0 +1,244 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "description": { + "description": "The description of the Index.", + "type": "string" + }, + "displayName": { + "description": "The display name of the Index. The name can be up to 128 characters long and can consist of any UTF-8 characters.", + "type": "string" + }, + "indexUpdateMethod": { + "description": "Immutable. The update method to use with this Index. The value must be the followings. If not set, BATCH_UPDATE will be used by default.\n* BATCH_UPDATE: user can call indexes.patch with files on Cloud Storage of datapoints to update.\n* STREAM_UPDATE: user can call indexes.upsertDatapoints/DeleteDatapoints to update the Index and the updates will be applied in corresponding DeployedIndexes in nearly real-time.", + "type": "string" + }, + "metadata": { + "description": "An additional information about the Index.", + "properties": { + "config": { + "description": "Immutable. The configuration of the Matching Engine Index.", + "properties": { + "algorithmConfig": { + "description": "The configuration with regard to the algorithms used for efficient search.", + "properties": { + "bruteForceConfig": { + "description": "Configuration options for using brute force search, which simply implements the\nstandard linear search in the database for each query.", + "type": "object" + }, + "treeAhConfig": { + "description": "Configuration options for using the tree-AH algorithm (Shallow tree + Asymmetric Hashing).\nPlease refer to this paper for more details: https://arxiv.org/abs/1908.10396.", + "properties": { + "leafNodeEmbeddingCount": { + "description": "Number of embeddings on each leaf node. The default value is 1000 if not set.", + "type": "integer" + }, + "leafNodesToSearchPercent": { + "description": "The default percentage of leaf nodes that any query may be searched. Must be in\nrange 1-100, inclusive. The default value is 10 (means 10%) if not set.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "approximateNeighborsCount": { + "description": "The default number of neighbors to find via approximate search before exact reordering is\nperformed. Exact reordering is a procedure where results returned by an\napproximate search algorithm are reordered via a more expensive distance computation.\nRequired if tree-AH algorithm is used.", + "type": "integer" + }, + "dimensions": { + "description": "The number of dimensions of the input vectors.", + "type": "integer" + }, + "distanceMeasureType": { + "description": "The distance measure used in nearest neighbor search. The value must be one of the followings:\n* SQUARED_L2_DISTANCE: Euclidean (L_2) Distance\n* L1_DISTANCE: Manhattan (L_1) Distance\n* COSINE_DISTANCE: Cosine Distance. Defined as 1 - cosine similarity.\n* DOT_PRODUCT_DISTANCE: Dot Product Distance. Defined as a negative of the dot product.", + "type": "string" + }, + "featureNormType": { + "description": "Type of normalization to be carried out on each vector. The value must be one of the followings:\n* UNIT_L2_NORM: Unit L2 normalization type\n* NONE: No normalization type is specified.", + "type": "string" + }, + "shardSize": { + "description": "Immutable. Index data is split into equal parts to be processed. These are called \"shards\".\nThe shard size must be specified when creating an index. The value must be one of the followings:\n* SHARD_SIZE_SMALL: Small (2GB)\n* SHARD_SIZE_MEDIUM: Medium (20GB)\n* SHARD_SIZE_LARGE: Large (50GB).", + "type": "string" + } + }, + "required": [ + "dimensions" + ], + "type": "object", + "additionalProperties": false + }, + "contentsDeltaUri": { + "description": "Allows creating or replacing the contents of the Matching Engine Index.\nWhen being updated, the existing content of the Index will be replaced by the data\nfrom the latest contentsDeltaUri.\nThe string must be a valid Cloud Storage directory path. If this\nfield is set when calling IndexService.UpdateIndex, then no other\nIndex field can be also updated as part of the same call.\nThe expected structure and format of the files this URI points to is\ndescribed at https://cloud.google.com/vertex-ai/docs/matching-engine/using-matching-engine#input-data-format.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Immutable. The region of the index. eg us-central1.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + } + }, + "required": [ + "displayName", + "projectRef", + "region" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "observedState": { + "description": "The observed state of the underlying GCP resource.", + "properties": { + "createTime": { + "description": "The timestamp of when the Index was created in RFC3339 UTC \"Zulu\" format, with nanosecond resolution and up to nine fractional digits.", + "type": "string" + }, + "indexStats": { + "description": "Stats of the index resource.", + "items": { + "properties": { + "shardsCount": { + "description": "The number of shards in the Index.", + "type": "integer" + }, + "vectorsCount": { + "description": "The number of vectors in the Index.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "metadataSchemaUri": { + "description": "Points to a YAML file stored on Google Cloud Storage describing additional information about the Index, that is specific to it. Unset if the Index does not have any additional information.", + "type": "string" + }, + "name": { + "description": "The resource name of the Index.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/vertexai.cnrm.cloud.google.com/vertexaiindex_v1beta1.json b/vertexai.cnrm.cloud.google.com/vertexaiindex_v1beta1.json new file mode 100644 index 00000000..fec93a8e --- /dev/null +++ b/vertexai.cnrm.cloud.google.com/vertexaiindex_v1beta1.json @@ -0,0 +1,245 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "description": { + "description": "The description of the Index.", + "type": "string" + }, + "displayName": { + "description": "The display name of the Index. The name can be up to 128 characters long and can consist of any UTF-8 characters.", + "type": "string" + }, + "indexUpdateMethod": { + "description": "Immutable. The update method to use with this Index. The value must be the followings. If not set, BATCH_UPDATE will be used by default.\n* BATCH_UPDATE: user can call indexes.patch with files on Cloud Storage of datapoints to update.\n* STREAM_UPDATE: user can call indexes.upsertDatapoints/DeleteDatapoints to update the Index and the updates will be applied in corresponding DeployedIndexes in nearly real-time.", + "type": "string" + }, + "metadata": { + "description": "An additional information about the Index.", + "properties": { + "config": { + "description": "Immutable. The configuration of the Matching Engine Index.", + "properties": { + "algorithmConfig": { + "description": "The configuration with regard to the algorithms used for efficient search.", + "properties": { + "bruteForceConfig": { + "description": "Configuration options for using brute force search, which simply implements the\nstandard linear search in the database for each query.", + "type": "object", + "x-kubernetes-preserve-unknown-fields": true + }, + "treeAhConfig": { + "description": "Configuration options for using the tree-AH algorithm (Shallow tree + Asymmetric Hashing).\nPlease refer to this paper for more details: https://arxiv.org/abs/1908.10396.", + "properties": { + "leafNodeEmbeddingCount": { + "description": "Number of embeddings on each leaf node. The default value is 1000 if not set.", + "type": "integer" + }, + "leafNodesToSearchPercent": { + "description": "The default percentage of leaf nodes that any query may be searched. Must be in\nrange 1-100, inclusive. The default value is 10 (means 10%) if not set.", + "type": "integer" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + }, + "approximateNeighborsCount": { + "description": "The default number of neighbors to find via approximate search before exact reordering is\nperformed. Exact reordering is a procedure where results returned by an\napproximate search algorithm are reordered via a more expensive distance computation.\nRequired if tree-AH algorithm is used.", + "type": "integer" + }, + "dimensions": { + "description": "The number of dimensions of the input vectors.", + "type": "integer" + }, + "distanceMeasureType": { + "description": "The distance measure used in nearest neighbor search. The value must be one of the followings:\n* SQUARED_L2_DISTANCE: Euclidean (L_2) Distance\n* L1_DISTANCE: Manhattan (L_1) Distance\n* COSINE_DISTANCE: Cosine Distance. Defined as 1 - cosine similarity.\n* DOT_PRODUCT_DISTANCE: Dot Product Distance. Defined as a negative of the dot product.", + "type": "string" + }, + "featureNormType": { + "description": "Type of normalization to be carried out on each vector. The value must be one of the followings:\n* UNIT_L2_NORM: Unit L2 normalization type\n* NONE: No normalization type is specified.", + "type": "string" + }, + "shardSize": { + "description": "Immutable. Index data is split into equal parts to be processed. These are called \"shards\".\nThe shard size must be specified when creating an index. The value must be one of the followings:\n* SHARD_SIZE_SMALL: Small (2GB)\n* SHARD_SIZE_MEDIUM: Medium (20GB)\n* SHARD_SIZE_LARGE: Large (50GB).", + "type": "string" + } + }, + "required": [ + "dimensions" + ], + "type": "object", + "additionalProperties": false + }, + "contentsDeltaUri": { + "description": "Allows creating or replacing the contents of the Matching Engine Index.\nWhen being updated, the existing content of the Index will be replaced by the data\nfrom the latest contentsDeltaUri.\nThe string must be a valid Cloud Storage directory path. If this\nfield is set when calling IndexService.UpdateIndex, then no other\nIndex field can be also updated as part of the same call.\nThe expected structure and format of the files this URI points to is\ndescribed at https://cloud.google.com/vertex-ai/docs/matching-engine/using-matching-engine#input-data-format.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Immutable. The region of the index. eg us-central1.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + } + }, + "required": [ + "displayName", + "projectRef", + "region" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "observedState": { + "description": "The observed state of the underlying GCP resource.", + "properties": { + "createTime": { + "description": "The timestamp of when the Index was created in RFC3339 UTC \"Zulu\" format, with nanosecond resolution and up to nine fractional digits.", + "type": "string" + }, + "indexStats": { + "description": "Stats of the index resource.", + "items": { + "properties": { + "shardsCount": { + "description": "The number of shards in the Index.", + "type": "integer" + }, + "vectorsCount": { + "description": "The number of vectors in the Index.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "metadataSchemaUri": { + "description": "Points to a YAML file stored on Google Cloud Storage describing additional information about the Index, that is specific to it. Unset if the Index does not have any additional information.", + "type": "string" + }, + "name": { + "description": "The resource name of the Index.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/vertexai.cnrm.cloud.google.com/vertexaiindexendpoint_v1alpha1.json b/vertexai.cnrm.cloud.google.com/vertexaiindexendpoint_v1alpha1.json new file mode 100644 index 00000000..d8c2df5a --- /dev/null +++ b/vertexai.cnrm.cloud.google.com/vertexaiindexendpoint_v1alpha1.json @@ -0,0 +1,164 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "description": { + "description": "The description of the Index.", + "type": "string" + }, + "displayName": { + "description": "The display name of the Index. The name can be up to 128 characters long and can consist of any UTF-8 characters.", + "type": "string" + }, + "network": { + "description": "Immutable. The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) to which the index endpoint should be peered.\nPrivate services access must already be configured for the network. If left unspecified, the index endpoint is not peered with any network.\n[Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert): 'projects/{project}/global/networks/{network}'.\nWhere '{project}' is a project number, as in '12345', and '{network}' is network name.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "publicEndpointEnabled": { + "description": "Immutable. If true, the deployed index will be accessible through public endpoint.", + "type": "boolean" + }, + "region": { + "description": "Immutable. The region of the index endpoint. eg us-central1.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + } + }, + "required": [ + "displayName", + "projectRef", + "region" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "createTime": { + "description": "The timestamp of when the Index was created in RFC3339 UTC \"Zulu\" format, with nanosecond resolution and up to nine fractional digits.", + "type": "string" + }, + "etag": { + "description": "Used to perform consistent read-modify-write updates.", + "type": "string" + }, + "name": { + "description": "The resource name of the Index.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "publicEndpointDomainName": { + "description": "If publicEndpointEnabled is true, this field will be populated with the domain name to use for this index endpoint.", + "type": "string" + }, + "updateTime": { + "description": "The timestamp of when the Index was last updated in RFC3339 UTC \"Zulu\" format, with nanosecond resolution and up to nine fractional digits.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/vertexai.cnrm.cloud.google.com/vertexaimetadatastore_v1alpha1.json b/vertexai.cnrm.cloud.google.com/vertexaimetadatastore_v1alpha1.json new file mode 100644 index 00000000..cff1291c --- /dev/null +++ b/vertexai.cnrm.cloud.google.com/vertexaimetadatastore_v1alpha1.json @@ -0,0 +1,164 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "description": { + "description": "Immutable. Description of the MetadataStore.", + "type": "string" + }, + "encryptionSpec": { + "description": "Immutable. Customer-managed encryption key spec for a MetadataStore. If set, this MetadataStore and all sub-resources of this MetadataStore will be secured by this key.", + "properties": { + "kmsKeyName": { + "description": "Immutable. Required. The Cloud KMS resource identifier of the customer managed encryption key used to protect a resource.\nHas the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the resource is created.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Immutable. The region of the Metadata Store. eg us-central1.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + } + }, + "required": [ + "projectRef", + "region" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "createTime": { + "description": "The timestamp of when the MetadataStore was created in RFC3339 UTC \"Zulu\" format, with nanosecond resolution and up to nine fractional digits.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "state": { + "description": "State information of the MetadataStore.", + "items": { + "properties": { + "diskUtilizationBytes": { + "description": "The disk utilization of the MetadataStore in bytes.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "updateTime": { + "description": "The timestamp of when the MetadataStore was last updated in RFC3339 UTC \"Zulu\" format, with nanosecond resolution and up to nine fractional digits.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/vertexai.cnrm.cloud.google.com/vertexaitensorboard_v1alpha1.json b/vertexai.cnrm.cloud.google.com/vertexaitensorboard_v1alpha1.json new file mode 100644 index 00000000..50135881 --- /dev/null +++ b/vertexai.cnrm.cloud.google.com/vertexaitensorboard_v1alpha1.json @@ -0,0 +1,170 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "description": { + "description": "Description of this Tensorboard.", + "type": "string" + }, + "displayName": { + "description": "User provided name of this Tensorboard.", + "type": "string" + }, + "encryptionSpec": { + "description": "Immutable. Customer-managed encryption key spec for a Tensorboard. If set, this Tensorboard and all sub-resources of this Tensorboard will be secured by this key.", + "properties": { + "kmsKeyName": { + "description": "Immutable. The Cloud KMS resource identifier of the customer managed encryption key used to protect a resource.\nHas the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the resource is created.", + "type": "string" + } + }, + "required": [ + "kmsKeyName" + ], + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Immutable. The region of the tensorboard. eg us-central1.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The service-generated name of the resource. Used for acquisition only. Leave unset to create a new resource.", + "type": "string" + } + }, + "required": [ + "displayName", + "projectRef", + "region" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "blobStoragePathPrefix": { + "description": "Consumer project Cloud Storage path prefix used to store blob data, which can either be a bucket or directory. Does not end with a '/'.", + "type": "string" + }, + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "createTime": { + "description": "The timestamp of when the Tensorboard was created in RFC3339 UTC \"Zulu\" format, with nanosecond resolution and up to nine fractional digits.", + "type": "string" + }, + "name": { + "description": "Name of the Tensorboard.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "runCount": { + "description": "The number of Runs stored in this Tensorboard.", + "type": "string" + }, + "updateTime": { + "description": "The timestamp of when the Tensorboard was last updated in RFC3339 UTC \"Zulu\" format, with nanosecond resolution and up to nine fractional digits.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/workflows.cnrm.cloud.google.com/workflowsworkflow_v1alpha1.json b/workflows.cnrm.cloud.google.com/workflowsworkflow_v1alpha1.json new file mode 100644 index 00000000..e59d072d --- /dev/null +++ b/workflows.cnrm.cloud.google.com/workflowsworkflow_v1alpha1.json @@ -0,0 +1,163 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "cryptoKeyName": { + "description": "The KMS key used to encrypt workflow and execution data.\n\nFormat: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}.", + "type": "string" + }, + "description": { + "description": "Description of the workflow provided by the user. Must be at most 1000 unicode characters long.", + "type": "string" + }, + "namePrefix": { + "description": "Immutable.", + "type": "string" + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "region": { + "description": "Immutable. The region of the workflow.", + "type": "string" + }, + "resourceID": { + "description": "Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "serviceAccount": { + "description": "Name of the service account associated with the latest workflow version. This service\naccount represents the identity of the workflow and determines what permissions the workflow has.\nFormat: projects/{project}/serviceAccounts/{account} or {account}.\nUsing - as a wildcard for the {project} or not providing one at all will infer the project from the account.\nThe {account} value can be the email address or the unique_id of the service account.\nIf not provided, workflow will use the project's default service account.\nModifying this field for an existing workflow results in a new workflow revision.", + "type": "string" + }, + "sourceContents": { + "description": "Workflow code to be executed. The size limit is 32KB.", + "type": "string" + } + }, + "required": [ + "projectRef", + "region" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "createTime": { + "description": "The timestamp of when the workflow was created in RFC3339 UTC \"Zulu\" format, with nanosecond resolution and up to nine fractional digits.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "revisionId": { + "description": "The revision of the workflow. A new one is generated if the service account or source contents is changed.", + "type": "string" + }, + "state": { + "description": "State of the workflow deployment.", + "type": "string" + }, + "updateTime": { + "description": "The timestamp of when the workflow was last updated in RFC3339 UTC \"Zulu\" format, with nanosecond resolution and up to nine fractional digits.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +} diff --git a/workstations.cnrm.cloud.google.com/workstationsworkstationcluster_v1alpha1.json b/workstations.cnrm.cloud.google.com/workstationsworkstationcluster_v1alpha1.json new file mode 100644 index 00000000..ec463698 --- /dev/null +++ b/workstations.cnrm.cloud.google.com/workstationsworkstationcluster_v1alpha1.json @@ -0,0 +1,223 @@ +{ + "properties": { + "apiVersion": { + "description": "apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "type": "object" + }, + "spec": { + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Client-specified annotations. This is distinct from labels.", + "type": "object" + }, + "displayName": { + "description": "Human-readable name for this resource.", + "type": "string" + }, + "location": { + "description": "Immutable. The location where the workstation cluster should reside.", + "type": "string" + }, + "network": { + "description": "Immutable. The relative resource name of the VPC network on which the instance can be accessed.\nIt is specified in the following form: \"projects/{projectNumber}/global/networks/{network_id}\".", + "type": "string" + }, + "privateClusterConfig": { + "description": "Configuration for private cluster.", + "properties": { + "allowedProjects": { + "description": "Additional project IDs that are allowed to attach to the workstation cluster's service attachment.\nBy default, the workstation cluster's project and the VPC host project (if different) are allowed.", + "items": { + "type": "string" + }, + "type": "array" + }, + "clusterHostname": { + "description": "Hostname for the workstation cluster.\nThis field will be populated only when private endpoint is enabled.\nTo access workstations in the cluster, create a new DNS zone mapping this domain name to an internal IP address and a forwarding rule mapping that address to the service attachment.", + "type": "string" + }, + "enablePrivateEndpoint": { + "description": "Immutable. Whether Workstations endpoint is private.", + "type": "boolean" + }, + "serviceAttachmentUri": { + "description": "Service attachment URI for the workstation cluster.\nThe service attachment is created when private endpoint is enabled.\nTo access workstations in the cluster, configure access to the managed service using (Private Service Connect)[https://cloud.google.com/vpc/docs/configure-private-service-connect-services].", + "type": "string" + } + }, + "required": [ + "enablePrivateEndpoint" + ], + "type": "object", + "additionalProperties": false + }, + "projectRef": { + "description": "The project that this resource belongs to.", + "oneOf": [ + { + "not": { + "required": [ + "external" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "anyOf": [ + { + "required": [ + "name" + ] + }, + { + "required": [ + "namespace" + ] + } + ] + }, + "required": [ + "external" + ] + } + ], + "properties": { + "external": { + "description": "Allowed value: The `name` field of a `Project` resource.", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "resourceID": { + "description": "Immutable. Optional. The workstationClusterId of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.", + "type": "string" + }, + "subnetwork": { + "description": "Immutable. Name of the Compute Engine subnetwork in which instances associated with this cluster will be created.\nMust be part of the subnetwork specified for this cluster.", + "type": "string" + } + }, + "required": [ + "location", + "network", + "projectRef", + "subnetwork" + ], + "type": "object", + "additionalProperties": false + }, + "status": { + "properties": { + "conditions": { + "description": "Conditions represent the latest available observation of the resource's current state.", + "items": { + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "type": "string" + }, + "message": { + "description": "Human-readable message indicating details about last transition.", + "type": "string" + }, + "reason": { + "description": "Unique, one-word, CamelCase reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type is the type of the condition.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "createTime": { + "description": "Time when this resource was created.", + "type": "string" + }, + "degraded": { + "description": "Whether this resource is in degraded mode, in which case it may require user action to restore full functionality.\nDetails can be found in the conditions field.", + "type": "boolean" + }, + "etag": { + "description": "Checksum computed by the server.\nMay be sent on update and delete requests to ensure that the client has an up-to-date value before proceeding.", + "type": "string" + }, + "name": { + "description": "The name of the cluster resource.", + "type": "string" + }, + "observedGeneration": { + "description": "ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.", + "type": "integer" + }, + "resourceConditions": { + "description": "Status conditions describing the current resource state.", + "items": { + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details.", + "items": { + "type": "object", + "x-kubernetes-preserve-unknown-fields": true + }, + "type": "array" + }, + "message": { + "description": "Human readable message indicating details about the current status.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + }, + "type": "array" + }, + "uid": { + "description": "The system-generated UID of the resource.", + "type": "string" + } + }, + "type": "object", + "additionalProperties": false + } + }, + "required": [ + "spec" + ], + "type": "object" +}